使用gcc编译简单的程序 |
您所在的位置:网站首页 › 怎么用gcc编译器输出内容 › 使用gcc编译简单的程序 |
一、简单程序搭建
使用虚拟机软件VMware,环境为:Ubuntu18.04。Terminal终端编写代码如下: mkdir film1 //新建文件夹film1 cd film1 //进入film1文件夹 vi sub1.c //新建.c文件 vi sub2.c vi main.csub1.c内容如下: float x2x(int a,int b) { return a+b; }sub2.c内容如下: float x2y(int a,int b) { return a*b; }main.c内容如下: #include #include"sub1.c" #include"sub2.c" int main(void) { int a=2,b=4; printf("x2x=%f\n",x2x(a,b)); printf("x2y=%f\n",x2y(a,b)); return 0; }使用gcc命令编译main.c gcc main.c //gcc编译文件 ./a.out // ./运行文件结果: 二、使用ar工具生成静态和动态库文件1、使用gcc将三个.c文件编译为.o文件 gcc -c sub1.c gcc -c sub2.c gcc -c main.c结果如下: 2、使用ar工具生成 .a 静态库文件 ar -crv test1.a sub1.o sub2.o //将sub1.o和sub2.o生成静态库文件test1.a gcc -o a.out main.c -L. test1.a //将静态库文件连接到主函数 ./a.out //查看输出结果如下: 3、使用ar工具生成 .so 动态库文件 gcc -shared -fPIC -o test1.so sub1.o sub2.o //将sub1.o和sub2.o生成动态库文件test1.a gcc b.out main.o test1.so //将静态库文件连接到主函数 ./b.out //查看输出结果如下: 三、直接编译hello.c与使用nasm 编译hello.asm文件对比1、新建目录film2,编辑文件test.c。内容如下: //test.c #include int main(void) { printf("Hello World!\n") return 0; }2、编辑test.c文件 gcc -E test.c -o test.i //预编译 gcc -S test.i -o test.s //编译 gcc -c test.s -o test.o //汇编 gcc test.o -o test //连接 ./test结果如下: 3、使用nasm编译hello.asm,首先下载nasm。 sudo apt install nasm //下载nasm nasm -f elf64 hello.asm //编译 ld -s -o hello hello.o //连接如图所示: 4、比较两个文件大小 nasm 生成文件大小: gcc生成文件大小: 四、Windon10进入bbs系统1、Linux 系统中终端程序最常用的光标库(curses)的主要函数功能,基本函数名称及功能。 2、进入控制面板,程序,启用或关闭windows功能,启用 “telnet client” 和"适用于Linux的Windows子系统"。 3、输入cmd进入shell画面,输入下面代码进入BBS: telnet bbs.newsmth.net画面如下: 五、gcc编辑弹球游戏贪吃蛇代码:https://blog.csdn.net/psc0606/article/details/9990981 1、下载光标库(curses) sudo apt-get install libncurses5-dev2、新建文件夹,新建文件 vim game.c gcc game.c -lcourses -o game ./game结果如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |