第一次用CSDN的博客,慕名而来,决定好好经营下自己的技术博客。
今天看《C和指针》中第二章编程训练的第一题,就是关于C语言多个源文件编译成一个程序的问题。之前自己一直都不太搞得懂这个,不过之前写的程序都是简单的,一个源文件就能搞定的那种,所以也一直懒了没有去学怎么,心里隐隐的对学习心的东西感觉到恐惧。今天自己搬弄了一个下午,各种错误,要崩溃了。吃完饭,又继续投入到这其中当去。这次学聪明了,Google了下,然后学着对比着来修改自己的代码。
这里就举自己写的一个很简单的范例来解说。
题目是,一共有三个源文件,第一个是increment,实现将整数加一;第二个是negate,实现将整数变反;最后的是main函数,实现调用这两个函数,要求这三个函数在不同的源文件。
实现起来是这样的——
首先编写一个 increment.h的头文件,申明函数
extern int increment(int a);
再写increment.c源文件
#include“increment.h”
int increment(int a)
{
return a+1;
}
再将该源文件编译
同理编写negate.h&negate.c
最后来写main.c

本文记录了使用C语言编译多个源文件为一个程序的过程,并解决在编译过程中遇到的未解析外部符号错误。通过创建increment和negate函数的源文件及头文件,以及main函数,演示了如何组织代码。在遇到错误"LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16"时,通过修改链接器设置解决了问题。

914

被折叠的 条评论
为什么被折叠?



