摘要:
首先是预编译,这一步可以粗略的认为只做了一件事情,那就是“宏展开”,也就是对那些#***的命令的一种展开,例如define MAX 1000就是建立起MAX和1000之间的对等关系,好在编译阶段进行替换。例如ifdef/ifndef就是从一个文件中有选择性的挑出一些符合条件的代码来交给下一步的编译阶段来处理。这里面最复杂的莫过于include了,其实也很简单,就是相当于把那个对应的文件里面的内容一下子替换到这条include***语句的地方来。 其次是编译,这一步很重要,编译是以一个个独立的文件作为单元的,一个文件就会编译出一个目标文件。(这里插入一点关于编译的文件的说明,编译器通过后缀名来. 阅读全文
摘要:
一rose生成C++源代码 (1)需要先设置类的语言, 设置方法:Tools->Options->Notation->把Default的Analysis换成ANSIC++ (2)需要一个component才能生成代码在ComponentView的Main中拖拽生成一个Component;(3)需要绑定类和component在LogicalView中设计好类的结构,然后在类的属性框中选择components这目录,这时会看到(2)中生成的component,点击右键,选择assign;所有希望生成代码的类都需要这样做。(4)生成代码最后一步:选择类图标右击选择ANSIc++选中 阅读全文
摘要:
Lib文件先来说一说lib文件,C++中lib文件主要有两类,一种是静态的编译连接,叫做静态链接库,另一种是动态的编译链接,和Dll文件一起使用,在该小标题下,主要说一下静态链接库,另一种将在Dll文件中讲解。所谓的静态链接库,就是以.lib结尾的文件(由于有动态的编译链接的lib存在,因此并不是所有的.lib文件都是静态链接库文件),该文件可以通过VS2005建立工程,然后将项目属性中的输出设置成lib形式,编译后就可以生成一个.lib文件,这就是静态链接库。我们如何使用生成的.lib文件呢?为了可以使用.lib文件,我们需要刚刚生成的.lib文件,以及它所对应的头文件.h,因为.lib文件 阅读全文