
编译
candy060403
这个作者很懒,什么都没留下…
展开
-
编译过程的一些小知识——内部连接与外部连接
首先,我们来了解下定义: 内部连接:如果一个名称对编译单元(.cpp)来说是局部的,在链接的时候其他的编译单元无法链接到它。 外部连接:如果一个名称对编译单元来说不是局部的,而在链接的时候其他的编译单元可以访问它,也就是说它可以和别的编译单元交互。 通过对LIB与DLL的讲解,我们可以更方便的理解内部连接与外部连接。 我们了解了一个编译单元(.cpp)编译成obj转载 2012-03-31 09:33:07 · 13851 阅读 · 0 评论 -
编译过程的一些小知识——LIB与DLL的区别
相信很多人都用过VC6.0与Visual Studio系列产品。 也有很多牛B人士用它们创造过很人的神话,铸就许多美丽的传说。 那你们知道为何你能用它创始出那么多的奇迹,这是你一个人的成功? 你是否关心过你是如何能动态的链接它给你提供的内库,它是如何控制你的IO流的? 为何C++的语法是这么规定的,它又是如何实现这些语法的呢? 本文和接下来的文章很肤浅的介绍了这些东西转载 2012-03-31 09:31:35 · 1024 阅读 · 0 评论 -
define 用法详解
1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i 编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。 这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤转载 2012-03-31 09:30:33 · 1248 阅读 · 0 评论 -
C++头文件重复包含的解决方案
一、#pragma once(比较常用) 这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次 #pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。 #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本转载 2012-03-31 09:28:34 · 3237 阅读 · 0 评论