C++
禹布衣
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
#ifndef#define#endif防止头文件重复包含, 你不是真的懂
注:以下所用环境皆为VS2005, 由于本人编程能力及表达能力有限, 大家有看不懂的地方可以多看几遍,有错误地方请一定指出 这里首先说明下几点基础知识, 相信大部分人对于以下几点大部分都已经知道了, 你也可以直接跳到最后部分看#ifndef#define#endif的真正作用 1.预编译阶段把所有#include ”***.h“ (“”与替换了, 所以之后就没有.h了转载 2015-06-11 16:01:28 · 1988 阅读 · 0 评论 -
extern与头文件(*.h)的区别和联系
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?? 这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件 首先说转载 2015-06-11 16:08:34 · 543 阅读 · 0 评论 -
C 语言和C++语言的 struct对比
1. C++语言将struct当成类来处理的,所以C++的struct可以包含C++类的所有东西,例如构造函数,析构函数,友元等,C++的struct和C++类唯一不同就是 struct成员默认的是public, C++默认private。而C语言struct不是类,不可以有函数,也不能使用类的特征例如public等关键字 ,也不可以有static关键字。2. C++ str转载 2015-08-07 17:29:42 · 650 阅读 · 0 评论 -
C程序编译过程浅析
前几天看了《程序员的自我修养——链接、装载与库》中的第二章“编译和链接”,主要根据其中的内容简单总结一下C程序编译的过程吧。我现在一般都是用gcc,所以自然以GCC编译hellworld为例,简单总结如下。 hello.c源代码如下:#include int main(){ printf(“Hello, world.\n”); return 0;}转载 2015-07-21 14:47:31 · 483 阅读 · 0 评论 -
C++程序编译过程简介
转自:http://blog.youkuaiyun.com/imyfriend/article/details/8684155编译过程主要分为4个过程 1) 编译预处理 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。宏定义命令;例如#define条件编译指令;例如#ifdef头文件包含指令;例转载 2015-07-21 14:51:58 · 507 阅读 · 0 评论 -
程序编译过程
程序编译程序的编译过程如下图所示,分为预处理、编译、汇编、链接等几个阶段。预处理:预处理相当于根据预处理命令组装成新的C程序,不过常以i为扩展名。编译: 将得到的i文件翻译成汇编代码。s文件。汇编: 将汇编文件翻译成机器指令,并打包成可重定位目标程序的O文件。该文件是二进制文件,字节编码是机器指令。链接: 将引用的其他O文件并入到我们程序所在的o文转载 2015-07-21 14:54:14 · 866 阅读 · 0 评论 -
链接器做什么
转自:http://www.dutor.net/index.php/2012/02/what-linkers-do/前几天,在组内分享了关于链接器的一些东西,在这里总结一下。讨论的背景主要是基于C/C++,Linux平台相关。链接器相关的一些基本问题 学习或者了解链接器,有一些基本的问题需要关心:链接器做些什么;链接器和体系结构;程序是怎样生成的。下面做简要介绍。转载 2015-07-21 15:00:23 · 1425 阅读 · 0 评论
分享