文章目录
一、c语言helloworld入门
1.打开ubuntu系统下的终端
2.找到合适的位置新建文件夹helloworld。
mkdir helloworld
3.打开 helloworld文件夹
cd helloworld
如图
4.用vim新建并打开一个名为hello.c的c语言文件
vi hello.c
5.在文件中输入以下内容
点击a进入编辑模式,在光标处输入
#include <stdio.h>
int main()
{
printf("hello world!");
return 0;
}
6.用gcc命令编译hello.c
gcc hello.c -o hello
基本工作gcc命令的使用
命令 作用 gcc -E hello.c -o hello. i 对hello.c 的程序进行预编译 .i做扩展名,生成文本文件 gcc -S hello.i -o hello.s 对hello. i 进行编译,生成一个汇编语言源程序文件.s做扩展名,编译后是文本文件 gcc -c hello.s -o hello.o 对hello.s进行汇编,生成一个可重定位目标文件 . o作扩展名,汇编后是二进制文件 gcc hello.o -o hello 将多个可重定位目标文件和标准库函数,printf所在的可重定位目标模块printf.o进行链接,生成可执行目标文件 gcc hello.c -o hello 从c语言程序直接生成可执行目标文件 ./hello 执行文件hello gcc -o0 -m32 -g hello. c -o hello -o0表示优化级别,0表示不用优化;-m32表示编译成x86-32位指令,不加,编译成x86-64位;-g表示带调试信息,为了单步调试必须加入这个选项
7.运行hello文件
。/hello
二、分别在ubuntu和windows系统下编写简单程序
(一)ubuntu系统下的简单主/子程序
1.编写一个main,c的主程序
vi main.c
2.在main.c里编写代码段后保存退出
#include<stdio.h>
#include"sub.c"
int main(){
int a=2,b=3;
float i;
i=f1(a,b);
printf("%f\n",i);
return 0;
}
3.新建子程序sub.c
vi sub.c
在sub.c里输入以下代码
#include<stdio.h>
float f1(int a,int b){
float i;
i=a+b;
return i;
}
4.编译main.c,将其变成可执行文件
gcc main.c -o main
5.运行main文件
。/main
(二)在windows系统下编写简单主/子程序
1.使用编程软件 QT
2.新建项目untitled
3.新建源文件main.cpp
#include<stdio.h>
#include"sub.h"
int main(){
int a=2,b=3;
printf("a+b=%f\n",f1(a, b));
return 0;
}
4.新建源文件sub.cpp
#include"sub.h"
float f1(int a, int b){
float i;
i=a+b;
return i;
}
5.新建头文件sub.h
float f1(int a,int b);
6.构建并运行
(三)ubuntu系统下用Makefile方式编程
1.安装make
sudo apt-get install make
由于我已经安装直接编写
2.用vi编写一个主程序文件main.c和一个子程序文件sub.c ,和上面(二)中相同
main.c
#include<stdio.h>
#include"sub1.c"
int main(){
int a=2,b=3;
float i;
i=f1(a,b);
printf("%f\n",i);
return 0;
}
sub.c
#include<stdio.h>
float f1(int a,int b){
float i;
i=a+b;
return i;
}
3.用gcc命令把main.c和sub.c文件生成main.o和sub.o文件
gcc main.c -p main.o
gcc -c sub.c -o sub.o
4.创建并用getdit编译makefile文件
touch makefile
vi makefile
makefile
main: main.o sub.o
gcc -o main main.o sub.o
main.o:main.c sub.h
gcc -c main.c
sub.o:sub.c sub.h
gcc -c sub.c
clean:
rm *.o main
~
1.main是最后形成的可执行文件的名字,后面的“.o”文件就是main是那些文件组成的。
2.因为中间会形成很多的“.o”文件,可以在makefile文件中加入这个来删除“.o”文件。
clean:
rm *.o 文件名
空格必须按Tab键
5.用make命令运行makefile,并输出结果