在linux中改写例 6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。例6.1#include "testI.h" #define fatal "please call Larence for help" main( ) { /*testing CPP options */ printf("display -D variable %s\n",DOPTION);printf("display overwrite fatal=%s\n" ,fata1);printf( "Hello, everybody!!\n");}
时间: 2023-07-05 16:25:49 浏览: 128
好的,我已经记录下了你的要求。以下是使用给定选项编译的更改后的代码:
```
#include <stdio.h>
#include "testI.h"
#define fatal "please call Larence for help"
int main( ) {
/*testing CPP options */
printf("display -D variable %s\n", DOPTION);
printf("display overwrite fatal=%s\n", fatal);
printf("Hello, everybody!!\n");
}
```
然后,使用以下命令进行编译:
```
gcc -I. -D DOPTION=\"test\" -E example.c -o example.i
gcc -I. -D DOPTION=\"test\" -c example.c -o example.o
gcc example.o -ltest -o example
```
其中,`-I` 选项用于指定头文件的搜索路径,`.` 表示当前目录;`-D` 选项用于定义一个宏,这里我们定义了 `DOPTION` 宏为 `"test"`;`-E` 选项用于预处理并输出预处理结果,这里我们将其输出到 `example.i` 文件中;`-c` 选项用于编译并生成目标文件,这里我们将其生成为 `example.o` 文件;`-o` 选项用于指定输出文件名,这里我们将可执行文件命名为 `example`;`-l` 选项用于链接库,这里我们将链接名为 `libtest.so` 的动态库。
希望这个回答能够帮助到你!
阅读全文