易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++中预编译#,##,#error,#pragma作用


#
是生成字符串:
          #define a(x) #x
          a(bc
) => "bc"
##
是连接:
          #define a(x) abc##x
          a(123) => abc123
#error
是生成编译错误消息:
          #ifdef abc
                #error something wrong...
          #endif
          //如果abc是已经定义的宏,那么编译的时候就会显示错误消息something wrong...
在所有的预处理指令中,#Pragma
指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和
C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。
其格式一般为: #Pragma Para
其中Para 为参数,下面来看一些常用的参数。
(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗
口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:
#Pragma message(“消息文本”)
当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。
当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法
#ifdef _X86
#Pragma message(“_X86 macro activated!”)
#endif
当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示“_
X86 macro activated!”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了

(2)另一个使用得比较多的pragma参数是code_seg。格式如:
#pragma code_seg( ["section-name"[,"section-class"] ] )
它能够设置程序中函数代码存放的代码段,当我


相关文档:

使用C++对java的classloader进行模拟

转自:使用C++对java的classloader进行模拟
一直以来,觉得java的classloader很不错的,做产品的话,可以将基本的做下来后,将扩展通过classloader的方式来做,将更新的补
丁使用classloader来做,在使用java的网络游戏中,可以将扩展通过classloader的机制,实现动态的更新,省的每次更新要重新下载
客户端,在手机上可 ......

Linux C + + Training


Linux C + + Training
Syllabus
________________________________________
1, Linux Operating System
System Environment: Ubuntu GNU / Linux, RedHat Linux AS5,
FreeBSD
Course Requirements: proficient use of commonly used Linux
/ UNIX commands.
Time: 1 week.
______________________________ ......

VIM+GDB linux c/c++ 的编程利器

其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的一个重要插件程序。
地址:http://sourceforge.net/projects/clewn/files ......

你选择开发哪种应用? C/S还是B/S

假定经过了若干年的演进, IT技术发展到了这种程度:
1) 联网: 随时随地有无限大的带宽, 用户可以完全免费使用网络, 以及无线网络100%的覆盖率;
2)PC性能:每台电脑都有足够的内存, 足够快的CPU; 在永久存储领域出现革命性技术, 即访问外部存储时间和访问内存时间在同一数量级;
3) B/S开发技术: 大量成熟的we ......

C/C++头文件一览


C、传统 C++

#include <assert.h>    
//设定插入点
#include <ctype.h>    
//字符处理
#include <errno.h>    
//定义错误码
#include <float.h>    
//浮点数处理
#include <fstream.h>   
//文件输入/输出
#include <iomanip.h>  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号