我可以用新代码重新编译文件吗?

Tim*_*Tim 1 c compilation recompile

我有个问题.我想知道你是否可以用另一段代码重新编译代码.例如(理论上):

main.c中:

#include <stdio.h>

void showme();

int main()
{
   showme();
}

void showme()
{
   fprintf(stderr, "errtest, show me");
}
Run Code Online (Sandbox Code Playgroud)

将此文件编译为main.(所以主要编译)之后我想添加一段代码.

addthis.c:

void test()
{
   test();
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用(编译好的)main并用addthis.c重新编译它.运行它时(./mainWithAddthis)应该显示2次打印.

我希望我解释清楚.有人有想法吗?

Not*_*ist 6

你需要一个前瞻性的声明你void test()喜欢的void showme()..c使用-c(仅编译)选项编译每个文件:

  • gcc -c addthis.c -o addthis.o
  • gcc -c main.c -o main.o

然后将两个目标文件链接到:

  • gcc main.o addthis.o -o main

然后享受./main:-)