以下源文件能通过编译链接么?????????
如果能,结果是什么,请给出理由,如果不能也请给出理由。(理由是重点)
这个程序源文件有2个文件组成,1.c和2.c。
/*********************1.c*******************/
#include <stdio.h>
void f(void);
int x=15213;
int y=15212;
int main()
{
f();
printf("x=0x%x y=0x%x \n",x,y);
return 0;
}
/*********************2.c*******************/
double x;
void f()
{
x=-0.0;
}
不能。。。理由:1.c中的main函数需要调用2.c中的f函数,但1.c没有包含文件2.c...
在1中添加 #include “2.c” 本帖最后由 oggplay 于 2014-8-5 17:28 编辑
ling0 发表于 2014-8-5 17:15
不能。。。理由:1.c中的main函数需要调用2.c中的f函数,但1.c没有包含文件2.c...
在1中添加 #include...
如果我不想让别人看到我的2.c源文件怎么办,我的2.c假设已经编译完成了(成了2.o文件)。所以与include无关, 应该不行
应为1.c中要引用2.c的函数但1.c中没有包括2.c oggplay 发表于 2014-8-5 17:20
如果我不想让别人看到我的2.c源文件怎么办,我的2.c假设已经编译完成了(成了2.o文件)。所以与include无关 ...
你可以吧2.c写出dll的样子然后再1.c中调用 牡丹花下死做鬼 发表于 2014-8-5 18:36
你可以吧2.c写出dll的样子然后再1.c中调用
刚才我想说的是思路方向错了 oggplay 发表于 2014-8-5 19:17
刚才我想说的是思路方向错了
我是这么想的 不知道对不对
编译1.c的时候 f() 他找不到啊
本帖最后由 oggplay 于 2014-8-5 19:24 编辑
牡丹花下死做鬼 发表于 2014-8-5 19:19
我是这么想的 不知道对不对
编译1.c的时候 f() 他找不到啊
要编译可执行文件很简单的一个命令gcc -o 1 1.c 2.c,看内容,别看框架。难道VC系列没有这种编译多文件的选项或命令?虽然我不了解VC VS
少了#include “2.c
页:
[1]