大家都知道,写程序大体步骤为:
1.用编辑器编写源代码,如.c文件。
2.用编译器编译代码生成目标文件,如.o。
3.用链接器连接目标代码生成可执行文件,如.exe。
但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编...
分类:
其他好文 时间:
2014-12-20 10:31:45
阅读次数:
133
(和《ARM嵌入式应用技术基础》186-190页一模一样)Scatter文件编写 一个映像文件中可以包含多个域(region),在加载和运行映像文件时,每个域可以有不同的地址。每个域可以包括多达3个输出段,每个输出段是由若干个具有相同属性的输入段组成。这样在生成映像文件时,ARM链接器就需要知道下述...
分类:
其他好文 时间:
2014-12-18 13:22:51
阅读次数:
175
将每个源代码独立编译之后,需要将他们“组装”起来,该过程便是链接。链接主要的工作就是将各个模块之间相互引用的地方处理好,使各个模块之间能够正确的衔接。链接的过程主要包括了地址和空间分配、地址绑定和重定位等操作。最基本的链接过程如下,每个模块的源代码文件(.c)-..
分类:
其他好文 时间:
2014-12-17 18:46:46
阅读次数:
101
今天在使用VS2013编译一个控制台应用程序时出现了:error LNK2026 模块对于 SAFESEH 映像是不安全的,按照以下步骤轻松解决了。打开该项目的“属性页”对话框,然后单击“链接器”--“命令行”,将/SAFESEH:NO 复制到“其它选项(D)”框中,然后点击应用.重新编译,问题解决
分类:
其他好文 时间:
2014-12-08 13:44:59
阅读次数:
152
编译型:通过编译器编译成可执行文件
或者通过编译器生成多个目标文件,一个模块会对应一个目标文件,最后由链接器生成可执行文件、
一次性将所有代码转换成机器码
速度快
C++
解释型:程序运行前一刻,还只有源程序没有可执行程序,当运行到某一行时,由一个解释器的外壳将该内容转...
分类:
编程语言 时间:
2014-12-07 23:15:43
阅读次数:
192
一,#pragma这个命令是定义编译器的状态以及指示编译器做某些事情。我们只介绍常见的一些。(1)#pragma once 这个加到.h文件头前面,这样就表示.h文件只被编译一次,当然是在没有被改变的时候。(2)#pragma comment(lib,“自己编写lib所在路径”)这条命令告诉链接器在...
分类:
其他好文 时间:
2014-12-07 12:28:56
阅读次数:
293
1.加载lib/头文件分两种方法:(1)适用于当前项目1 第一步:项目->属性->C/C++->常规->附加包含目录(浏览.h文件的路径) 添加包含文件2 第二步:项目->属性->C/C++->链接器->输入->附加依赖项(写入lib的名称) 添加库文件3 项目->属性->C/C++->...
分类:
其他好文 时间:
2014-11-29 17:26:38
阅读次数:
179
对于编程菜鸟级人物来说,很有必要先把最基础的知识学到!今天从jiang老师那里学到了很多,让我这个水货真正认识到自己的不足。没关系,缺什么补什么。。。只要愿意学,没有什么的;只要动手编,没有什么的。纠正好自己的心态!
下面都是关于编程的一些基础名词科普,让你清楚知道具体都有些什么功能。不能再是那种模棱两可,一定要清楚!不然后面的学习会很困难!以下的总结也有很多不全面的,希望大家纠正,共同学习,共同进步!...
分类:
其他好文 时间:
2014-11-27 22:13:55
阅读次数:
262
目标代码文件、可执行文件和库 C编程的基本策略是使用程序将源代码文件转换为可执行文件,此文件包含可以运行的机器语言代码。C分两步完成这一工作:编译和链接。编译器将源代码转换为中间代码,链接器将此中间代码与其他代码相结合来生成可执行文件。C使用被划分为两部分的这一方法使程序便于模块化。我们可以分别编....
分类:
其他好文 时间:
2014-11-23 18:57:00
阅读次数:
163