博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux c 学习第一天
阅读量:6945 次
发布时间:2019-06-27

本文共 1244 字,大约阅读时间需要 4 分钟。

Linux c 学习第一天

 

安装Ubuntu Server

在Ubuntu官网下载Ubuntu Server版

安装选择English语言 USA键盘

 

Linux简单命令

使用sudo su切换到root账户

使用mkdir创建目录

使用touch新建文件

使用rmdir删除目录

使用rm删除文件

 

安装GCC编译器

sudo apt-get install build-essential

Ubuntu使用此命令自动安装GCC

 

简单使用vim编辑器

vim hello.c        //创建hello.c文件并使用vim打开

i                           //插入文本

:w                       //保存文件

:wq                     //并退出

 

使用gcc编译器

GCC编译器编译程序要经过预处理、编译、汇编、连接四个阶段

 

从功能上分,预处理、编译、汇编是三个不同的阶段,但GCC的实际操作上,可以把这三个步骤合为一个步骤来执行。

 

在预处理阶段,输入的是C语言源文件,通常为*.c。源文件中通常带有.h之类头文件的包含文件。在这个阶段主要处理原文件中的#ifdef、#include和#define命令。该阶段会生成一个中间文件*.i,但实际工作中不用专门生成这种文件,因为基本上用不到;若非要生成这种文件不可,可以利用下面的示例命令。

gcc -E  test.c -o test.i

 

在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s。这个阶段对应的GCC命令如下

GCC -S test.i -o test.s

 

在汇编阶段,将输入的汇编文件*.s转换成机器语言*.o。这个阶段对应的GCC命令如下

GCC -c test.s -o test.o

 

最后,在链接阶段将机器代码文件*.o(与其他机器代码文件和库文件)汇集成一个可置信的二进制代码文件。这一步骤,可以利用下面的命令完成

GCC test.o -o test

 

上面是GCC编译过程的四个阶段以及相应的命令,下面进一步介绍常用的GCC模式

 

GCC常用模式

 

把一个源文件编译成一个可执行程序

GCC test.c -o test

 

把多个源文件编译成一个可执行程序(生成可执行程序的源文件只能有一个main函数)

GCC test.c test2.c test3.c –o test

 

GCC警告功能

当GCC在编译过程中检查出错误的话,它就会中止编译;但检测到警告时却能继续编译生成可执行程序,因为警告只是针对程序结构的诊断信息,它不能说明程序一定有错误,而是存在风险,或者可能存在错误。虽然GCC提供了非常丰富的警告,但前提是你已经启用了它们,否则它不会报告这些检测到的警告。

 

在众多的警告选项之中,最常用的就是-Wall选项。该选项能发现程序中一系列的常见错误警告,该选项用法举例如下:

$ gcc -Wall test.c -o test

转载于:https://www.cnblogs.com/linqianqiu/archive/2012/05/07/2486805.html

你可能感兴趣的文章
蓝桥杯——先进的多说好树遍历
查看>>
Hdu 5444 Elven Postman dfs
查看>>
Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程
查看>>
精讲母函数
查看>>
读取数据库中timestamp类型去掉毫秒
查看>>
(四)左右ng-app自己主动bootstrap相框
查看>>
九度OJ 1068 球半径和数量 (模拟)
查看>>
了解如何高速嵌入式?
查看>>
HDU4960Another OCD Patient(间隙dp,后座DP)
查看>>
Spark on Yarn遇到的问题及解决思路
查看>>
swift知识点 [1]
查看>>
(转载)北上广深房价只会涨不会降
查看>>
移动存储卡仍然用FAT32文件系统的真相
查看>>
lambda 2
查看>>
windows下配置nginx+php环境
查看>>
Python批量读取人脸图片与数据互相转换
查看>>
android 75 新闻列表页面
查看>>
用数据说话:北京房价数据背后的数据
查看>>
Java系列笔记(4) - JVM监控与调优
查看>>
ITK 4.8.1 Qt 5.4 MinGW 4.9.1 Configuration 配置
查看>>