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

AirSim安装和地图加载

详细教程如何安装AirSim并加载地图

fegxg的博客 3033

【PADS-开发指南】

馒头破戒大师

sinat_23896491的博客 3223

如何使用gcc编译器?

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

weixin_30763397的博客 875

FDTD仿真实战:从材料导入到反射率曲线分析

本文提供了一份完整的FDTD仿真实战指南,详细讲解了从自定义材料(如WO3)数据导入、结构建模、仿真区域与网格设置,到光源与监视器配置、运行仿真并提取反射率数据的全流程。重点解决了材料库缺失、网格优化、边界条件设置等常见难题,旨在帮助研究人员高效、准确地通过FDTD仿真获取材料的关键光学特性——反射率曲线。

elastic6hunter的博客 341

GCC使用入门

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

风清扬zld的博客 1998

安卓应用锁开发实战:如何通过拦截Activity启动实现密码验证(附完整代码)

本文深入探讨了在安卓系统中开发应用锁功能的两种实战方案:通过修改ActivityStarter源码或实现IActivityController接口来拦截Activity启动流程,从而实现启动前的密码验证。文章详细对比了两种方案的技术选型、实现细节与适用场景,并提供了处理隐式Intent、验证状态管理等核心问题的完整代码,为开发系统级安全功能提供了实用指南。

tcp8optimizer的博客 457

ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正。

IQ_WXY的博客 5097

gcc入门

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

weixin_30278237的博客 173

玩转 InternVL3.5 轻量级实战:从部署到优化的全记录

玩转 InternVL3.5 轻量级实战:从部署到优化的全记录

jacke121的专栏 626

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

第二节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Python Flask 后端开发详解(附源码)

大家好,我是cuiwin!本节内容,我们从零开始开发基于Python(Flask)的后端项目,对接Vue Vben Admin(vben5)。登录mysql数据库执行: 创建数据库。

cuiwin的专栏 2264

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3129

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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[建议] GCC 新手入门

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

dlt86904的博客 114

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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、付费专栏及课程。

余额充值