MAC中使用Vim和GCC编译C程序

1、打开终端

2、输入以下命令进入vim编辑器:

vim a.c

3、进入编辑器后按i进入insert模式,然后键入以下代码:

#include<stdio.h>
int main(){

printf("\nhelloWorld!\n\n");

return 0;

}
  

4、按ESC退出编辑模式,然后键入:wq,退出并保存刚编辑好的a.c

5、在终端中输入以下代码,把a.c编译为可执行文件

gcc a.c -o a

6、输入./a然后回车,就可以看到程序a.c的执行结果:在终端打印出hello World!这句。

MacBook-Pro-2:~ mac$ ./a

helloWorld!

MacBook-Pro-2:~ mac$

注意:以上的第5步的代码其实是由四步组成的:

(1)预处理:使用-E生成.i文件:

gcc -E a.c -o a.i

(2)汇编:使用-S生成.s文件:

gcc -S a.i -o a.s

(3)编译:使用-c生成.o文件:

gcc -c a.s -o a.o

(4)连接:使用-o生成可执行文件:

gcc a.o -o a
时间: 2024-11-05 04:48:04

MAC中使用Vim和GCC编译C程序的相关文章

gcc编译C++程序

gcc编译C++程序 单个源文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */#include <iostream>int main(int argc,char *argv[]){    std::cout << "hello, world" << std::endl;    return(0);}程序使用定义在头文件 iostream 中的 cout,向

使用gcc编译C程序

GCC 全称"GNU C Compiler",不过自从面世后,增加了多种语言的支持,不过用的最多的是还是编译C或C++程序(另外有个工具叫做G++).GCC是一种多目标编译器,通过可交互的后端处理器,为多种计算机架构生成可执行程序. 话说回来,什么是编译器呢? 编译器并不是一个单一的程序,它们通常由六七个稍小的程序组成,这些程序由一个叫做"编译器驱动器(Compiler driver)"的控制程序调用. 编译器一般由以下几部分组成: 预处理器(preprocesso

bcc3.1和gcc编译同样程序的对比

1.这个使用bcc3.1精简版来编译c程序的,使用dosbox来模拟仿真的,bcc3.1可是1992年的工具了,相当老了.dos年代的工具,是16位编译工具, 2.下面使用msys2的最新版gcc-9.2.0来编译运行的.对比bcc3.1,平台已经更新到64位了 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12309790.html

在linux环境下尝试使用gcc编译一个程序,并验证-E\-S\-c选项

首先,进入Linux平台: 2.双击Terminal,进入: 3.编入命令 vim test.c ,进入新建文件test.c中,并且自己编写一个简单的c语言程序: 4.分别输入命令: ESC   :  w   q   ! 这5个命令回到编译页面,如若想修改则可输入命令 vim test.c  进入,输入命令i或者A命令 5.输入命令gcc -S test.c  预处理 6.输入命令 gcc -c test.c     预编译处理完成 7.输入命令    ./test 8.程序运行截图:

【LinuxC】GCC编译C程序,关闭随机基址

1.编译.链接和运行程序 C代码示例: #include <stdio.h> #include <stdlib.h> int main() { printf("hello world!\n"); exit(0); } 编译运行参数如下: [[email protected] Desktop]# gcc -o hello hello.c [[email protected] Desktop]# ./hello 2.关闭内存地址随机化机制(alsr) 关闭 [[em

整理Linux下gcc编译中关于头文件与库文件搜索路径相关问题

分类: MakeFile/Make/GCC/LD2010-11-20 23:15 535人阅读 评论(0) 收藏 举报 转者的话: 本文详细介绍了gcc 编译时 搜索头文件的路径以及方式, 编译时寻找lib库的方式, 以及运行时加载库的寻找方式!!!非常之经典啊!以后有新的知识都汇总到这里来了! 在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-I”来指定头文件目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法. 看下文的红色部分. 有大量的环境变量可供设置以影响 G

Mac中安装Vim7.4

Mac上的Vim Mac本身其实是预装了Vim的,但是目前的系统中都是Vim7.3版本的,而最新的Vim已经是7.4版了,因此为了能够使用最新版的vim,必须要对Mac中的vim要么升级,要么重装.在折腾过程中,遇到了一些问题,这里记录,以鉴后人. 可选方案 升级原生的Vim7.3 这种方法貌似是最”干净”的,不会引入其他任何多余的东西,对于有洁癖的人这应该是一种比较好的方案.但是,这个方案也有缺点,那就是它会覆盖原生的Vim,会改变系统的默认设置,并且一旦升级过程中出现了问题,那你就再也没有可

Linux GCC编译警告:Clock skew detected. 错误解决办法

今天在虚拟机上用GCC编译一个程序的时候,出现了下面的错误: make: warning: Clock skew detected. Your build may be incomplete 试了make clean后再make,仍然是同样的问题,最后发现这个错误的原因在于系统时间比文件修改时间早,看了下我的系统时间竟然还是2012-01-13,而今天都已经是2012-01-31呢,于是修改时间后重新编译,问题解决. Linux下用date命令可查询和修改系统时间(root权限才可修改) 1 d

gcc编译C源文件

gcc编译C程序的主要过程是:预处理---编译---汇编---连接,其中:(以名为hello.c的源文件为例) 预处理:对各种预处理指令(#开头,如#include,#define)进行处理,以及删除注释和多余空白字符.生成被修改的源程序hello.i E是通知gcc对hello.c进行预编译:o是对命令输出结果进行导入操作 gcc -E hello.c -o hello.i 编译:对代码进行语法语义分析和错误判断,生成汇编代码文件hello.s S是通知gcc对目标文件hello.i进行编译