gcc使用入门

Linux下GCC入门 交叉编译指在一个平台上编译生成可以在另一个平台上运行的程序。GCC 可以进行交叉编译,尤其在嵌入式开发中非常常用。在编译大型项目时,可以使用 -j 选项来加速编译过程。该选项指定并行编译时使用的线程数。 阅读详情

  以前用惯了VC++,现在要用gcc还真有点不习惯,不过俗话说“工欲善其事,必先利其器”,不把gcc搞熟练怎么能提高开发效率呢,所以开始边学边写,方便记忆。

一、gcc的编译过程

  gcc的编译过程分为预处理、编译、汇编、连接四个子过程,每个过程的命令如下:

  预处理: 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

二、编写我的第一个Linux程序 hello.c

vi hello.c
i

#include <stdio.h>

int main()
{
    printf(
"%s", "Hello,Linux World!");
    
return 0;
}

ESC
:wq  保存退出

三、编译hello.c

分步编译:
1、gcc -E hello.c -o hello.i
2、gcc -S hello.i -o hello.s
3、gcc -c hello.s -o hello.o
4、gcc hello.o -o hello

其实也可以一步完成上面四个步骤:
  gcc -o hello hello.c

最后执行文件
    ./hello

OK,完成了自己在Linux上的第一个程序,虽然只是个hello world,但总算是体验到Linux下的编程过程。

 

gcc简易教程(linux下编程必备工具书) 学习gcc的极佳入门教程,几乎在所有开源软件和自由软件都会用到 立即下载

相关推荐

gcc入门书籍——用法、特性、发展

有关GCC入门的书籍,很好用。 希望能够对大家学习GCC有些帮助

gcc 编译相关CFLAGS LDFLAGS LIB

CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。 CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该...

weixin_42615308的博客 2276

gcc 入门 (An Introduction to GCC)

一本讲使用gcc编程的书,非常适合于初学者,讲得深入浅出。我读了之后很快入门了。

ubuntu下gcc编程入门

准备工作 如果你还没装编译环境或自己不确定装没装,不妨先执行sudo apt-get install build-essential如果你需要编译 Fortran 程序,那么还需要安装 gfortran(或 g77)sudo apt-get install gfortran如果你已经了解一些 vim 的知识,而且想用它来编辑源代码,那么我们不妨装个完

xioahw的专栏 6602

Unity2D像素刀光实现:粒子方向控制与像素级渲染规范

像素风游戏中的刀光特效并非普通粒子动画,而是需严格遵循像素艺术原理的视觉暂留模拟。其核心在于将‘瞬时切割感’转化为程序可执行的渲染逻辑:通过禁用纹理滤波保障1:1像素锐度,绑定刀锋向量控制粒子运动方向,限定≤0.15秒生命周期匹配人眼暂留阈值,并采用Stretched Billboard实现动态拉伸拖影。该方案兼顾美术语义(如直劈、横扫、突刺)与工程约束(Sorting Layer分层、对象池复用、单粒子GPU优化),广泛适用于Unity2D平台的动作反馈系统,尤其适配《空洞骑士》《死亡细胞》类高节奏像素R

weixin_32390647的博客 282

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4504

如何使用gcc编译器?

目录: GCC rules 开始... 预编译 编译 汇编 连接 另外两个重要选项 调试 小结 站点链接 摘要: 要想读懂本文,你需要对C语言有基本的了解,本文将介绍如何使用gcc编译器。 首先,我们介绍如何在命令行方式下使用编译器编译简单的C源代码。 然后,我们简要介绍一下编译器究竟作了那些工作,以及如何控制编译...

weixin_30763397的博客 875

Qwen2.5-Omni实战:5分钟搞定多模态AI模型本地部署(含Thinker-Talker架构解析)

本文详细介绍了Qwen2.5-Omni多模态AI模型的本地部署流程,包括硬件配置、环境准备和实战应用开发。特别解析了其创新的Thinker-Talker架构,该架构通过TMRoPE位置编码实现跨模态同步处理,大幅提升多模态任务效率。5分钟即可完成部署,适合开发者快速实现文本、图像和音频的联合处理。

weixin_29085865的博客 171

GCC使用入门

本文通过实例介绍了gcc的基本使用。包括单个文件的编译过程、多个文件的编译过程、静态库文件和动态库文件的制作与使用、编译选项、调试信息、编译优化

风清扬zld的博客 1998

SAP MM 物料描述MAKTX 40个字符不够用的问题处理

SAP物料描述表,长度40个字符一般情况下,40个字符在描述中也够用了,但是要加上规格之类的额外描述就不一定了,特别是对于辅助件-刀具。解决方案一:对maktx增强,换成CHAR80或者CHAR100的,但是风险较大,涉及到好多地方,另外SAP+ 算号器 也不支持。解决方案二:增强字段。内部顾问,建议在 那就在这里加一个字段,具体过程如下:1、创建域2、创建架构3、附加架构4、GUI 设置 5、后台设置6、MASS/MM17字段新增。过程1、创建域 SE112、创建结构 se11 3、MARA附加架构

GAVIN 4728

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

jacke121的专栏 2759

gcc入门

GCC编译器(Linux gcc命令)30分钟入门教程 http://c.biancheng.net/gcc/ 转载于:https://www.cnblogs.com/exciting/p/10952992.html

weixin_30278237的博客 173

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

GCC 新手入门

本文是写给 gcc 新手的入门文章,所以内容比较简单。如果你知道下面3条命令都可以编译c++的话,就不用在本文浪费时间了 转自:http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=98648&start=0代码:g++ -Wall hellocpp.cppgcc -Wall hellocpp.cpp -lstdc++gfortran -Wall h

qinzhonghello的专栏 909

当几何失效时:3D激光SLAM退化场景的本质与应对策略

本文探讨了3D激光SLAM在退化场景(如长廊、隧道等)中的挑战与解决方案。文章从数学角度分析了退化原因,指出信息矩阵秩亏导致某些方向约束缺失。主流算法采用不同策略应对:LeGO-LOAM利用地面约束与解耦优化;LIO-SAM/LVI-SAM通过多传感器融合补偿;FAST-LIO系列依赖IMU短期积分。新兴的RID-LIO方案创新性地利用激光强度信息增强约束,实验显示精度提升63.59%。研究表明,针对不同退化方向需要采用特异性补偿策略,而挖掘现有传感器的潜在信息维度是提升鲁棒性的有效途径。

Studying…… 619

天地图下载带审图号(审图号: GS(2024)0650号)的 “行政区划” 数据(含shp文件下载地址)

在科研投稿论文过程中,多数期刊杂志要求我们制作涉及国界的图件,必须使用自然资源部地图技术审查中心发布的标准地图底图。如地理学报、地理科学等期刊的投稿指南中写到:非标准底图本刊不予发表!(如图1.1所示)如果一定要用,凡涉国界图件(国内部分地区、全国、世界部分地区、全球)必须使用自然资源部标准地图服务系统标准地图底图(http://bzdt.ch.mnr.gov.cn/)(如图1.1所示)或国家测绘局地理信息局标准地图底图(如图1.2所示),所用底图边界要完全无修改(包括南海诸岛位置)。

JData_Engineer的博客 2303

Linux之GCC经典入门教程

实测学习效果很好,可以参考 Linux之GCC经典入门教程 需要注意的是在makefile的源码里面,: clean: rm -f hello hello.o hello_fn.o 其实rm这行前面有一个TAB 还有fortran的hello world的例子,可以参考这篇文档,帖子里面的太老了 Hello world - Fortran Programming Language ...

m0_50588573的博客 509

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux下gcc编写java,linux 下c语言编程 GCC使用入门

本文来自:ubuntu中文论坛本文是写给 gcc 新手的入门文章,所以内容比较简单。如果你知道下面3条命令都可以编译c++的话,就不用在本文浪费时间了 代码:g++ -Wall hellocpp.cppgcc -Wall hellocpp.cpp -lstdc++gfortran -Wall hellocpp.cpp -lstdc++http://wiki.ubuntu.org.cn/C_Cpp_...

weixin_34619335的博客 232

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[建议] GCC 新手入门

本文是写给 gcc 新手的入门文章,所以内容比较简单。如果你知道下面3条命令都可以编译c++的话,就不用在本文浪费时间了 代码: g++ -Wall hellocpp.cppgcc -Wall hellocpp.cpp -lstdc++gfortran -Wall hellocpp.cpp -lstdc++ 注:本文最新版在wiki中http://wiki.ubuntu....

dlt86904的博客 114

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

GCC入门问题

GCC:the GNU Compiler Collection GNU编译器集合,目前可编译:C, C++, Objective-C, Fortran, Java, and Ada等。GCC入门书推荐:An Introduction to GCCby Brian J. Gough, foreword by Richard M. Stallman

aweilark的专栏 607

GCC快速入门

文章目录目的总结 目的 总结

Naisu的各种笔记 1万+

Ubuntu 下gcc编程入门

今天学习了一下ubuntu下的gcc编程的一些东西,在这里和大家一起分享一下: step1:下载并安装GCC。 首先介绍一下ubuntu下不同文件的不同解压方式吧: 使用root限权解压: tar.gz包的解压方法: sudo tar zxvf file.tar.gz bz2包的解压方法一: sudo tar jxvf file.tar.bz2 bz2的解压方法二:

Chris_Home 1664

Linux 基础入门操作-实验一 GCC使用

源代码就是程序员写出来的一个个代码文件,包括头文件和源文件。机器码是 CPU 可以直接解读的数据,由 0、1 组成,跟平台相关,ARM 平台跟 x86 平台的机器码是不一样的。程序语言是为了方便程序员的开发而产生的,用机器码开发程序是不可能的,于是出现了汇编、c、c++、c#、java 等程序语言,它们都需要经过编译器的编译生成可执行程序(由机器码组成)。

huanghongqi11的博客 944

一文入门gcc

这个会用的多一点。-D后接我们要在编译时候注册的宏。我现在修改一下我们之前的test.c文件。然后我们直接编译,运行的结果是这样的。当我们使用了-D选项,则是下面这样的效果。通过这样的小例子,相信大家就对-D有了简单的认识了。今天在这边就介绍到这边了,对于我们后续学习Makefile来说是足够的。感觉不过瘾,想更深入了解gcc的小伙伴可以直接man gcc也可以去查官方文档。t=N7T8。

m0_63235356的博客 1541
上一篇: 开始学习Linux嵌入式开发
下一篇: 英文桌面设置默认开启SCIM输入法
七伤拳
博客等级 码龄25年 14粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值