gcc 全称(gnu compiler collection) 即编译套件, gcc可以支持多种计算机体系结构, 比如 X86、 ARM 、MIPI .在12.2章节中我们在ubuntu系统下安装了gcc编译器,所以可以直接输入以下命令gcc -v来查看gcc的版本,如下图所示:
比如我们在12.2章节中,使用命令gcc helloworld.c -o helloworld将c程序编译成可执行程序使用的就是gcc编译器,命令格式为:
gcc 选项 文件名
o 参数为指定生成文件的文件名
举例:
将 helloworld.c 编译得到helloworld,使用命令sudo gcc helloworld.c -o helloworld。编译完成后使用命令./helloworld来运行helloworld可执行程序,如下图所示:
从 c程序编译得到可执行程序要经历四个步骤,分别是:预处理,编译,汇编,链接。在这四个步骤下我们可以得到三种类型的文件,分别是xxx.i(预处理得到的C语言代码),xxx.s(汇编语言代码),xxx.o(目标文件)。接下来我们就逐步来编译可执行文件。
第一阶段:预处理阶段,在预处理阶段,编译会对头文件或者宏定义进行展开,或者是条件编译进行选择。
使用命令sudo gcc -E helloworld.c -o helloworld.i可以得到预处理后的文件,-E参数是只对文件进行预处理,不编译和链接。如下图所示:
第二阶段:编译,在编译阶段会把文件编译成汇编代码。
使用命令sudo gcc -S helloworld.i -o helloworld.s,参数-S是将.i文件编译成.s文件,如下图所示:
第三阶段:汇编,把汇编文件编译成机器码。
使用命令sudo gcc -c helloworld.s -o helloworld.o,参数-c可以把.s文件编译成.o文件,如下图所示:
第四阶段:链接
使用命令 sudo gcc helloworld.o -o helloworld。这里使用的是动态链接。
迅为龙芯2K1000开发板:
核心板参数:
尺寸:65mm*55mm
CPU :龙芯2K1000双核工业级处理器
主频:800MHz-1GHz
内存:板载2GB DDR3 ,可选4GB
存储:8MB的存储,用来放BOOT引导程序的
工作电压:12V和5V
系统支持:流畅运行vusybx、buiroot、Loognix、QT5.12系统。
引角扩展:引出脚多达232个,1.0间距的邮票孔方式,满足用户各类扩展需求
底板参数:
尺寸:190mm*125mm
POWER:电直流电源输入接口
SWITCH:电源开关
Ethernet:2 路10M/100M/1000M自适应以太网
USB HOST:4路USB2.0
OTG:支持
Mini HDMI:支持
RGB-LCD:支持
Mini PCIE:可外接mini PCIE接口的4G模块,具备PCIE2.0单通道
4G模块 :支持 (选配)
SIM Card:1个
UART:2路串口
RS485:1路
CAN:2路
蜂鸣器:一个有源蜂鸣器
RTC:支持
LIO/UART:2mm间距20PIN插座引出
GPIO :2mm间距20PIN插座引出
耳机接口:标准3.5mm耳机接口
JTAG:1路JTAG调试接口(2mm间距10PIN插座引出)
GPS:一路GPS (选配)
固态硬盘接口:1路 (SATA固态盘选配)
按键:3个
温度传感器:支持
风扇驱动:支持