mac+linux+编译c,mac 下使用gcc 编译c函数

本文介绍了在Mac操作系统中使用GCC编译C程序时遇到的问题,包括编译错误及解决方法。例如,由于缺少C++标准库导致的编译失败,可以通过添加-lstdc++参数解决。同时,还提到了Ubuntu环境下GCC编译时对数学函数如cos、sin的识别问题,以及在RedHat5中安装GCC编译环境的步骤。此外,还分享了Linux系统下GCC的基本使用流程,包括预处理、编译、汇编和链接四个阶段。
摘要由CSDN通过智能技术生成

mac 终端其实和window 的cmd类似,由于mac 的os x 采用了unix 系统,所以,各种类似UNIX下的命令都有用。最近在看computer science ,用到了命令行。

下面是一个小例子的具体步骤:

步骤:创建C文件、用Vim编写C程序、编译C程序文件、执行编译后生成的.out文件。

1、$:touch Hello.c               //创建一个Hello.c文件(本目录下)

2、$:vim Hello.c                 //用vim编辑Hello.c文件

i                                //打开vim后先输入i进入编辑状态

*************以下为vim中输入的程序****************

int main()

{

printf(“Hello world! \n”);

}

**********************************************

ESC键                       //按ESC键退出编辑状态

:wq                          //先输入“:”,再输入“w”表示保存,最后输入“q”表示退出

3、$:gcc - o hello Hello.c                 //编译Hello.c文件,会生成可执行文件“hello”

4、$:./hello                       //执行hello

MAC 下用GCC编译报错:“Undefined symbols for architecture x86_64: ”

解决方法: 因为GCC编译的时候没有链接C++ standard library, 因此在编译的时候要加入符号 -lstdc++ 使用命令: gcc myprog.c -o myprog -lstdc ...

Ubuntu下使用gcc编译c文件,未识别cos,sin

Ubuntu下使用gcc编译c文件,虽然我调用了math.h的头文件,但是未识别cos,sin 报错:( fft.c ) /tmp/ccwXjD8C.o: In function `fft': fft ...

RedHat 5下安装gcc编译环境的具体步骤

RedHat 5下安装gcc编译环境的具体步骤 在RHEL5系统中默认不安装linux系统中的开发编译环境(gcc),此软件包安装时依赖其他包较多 在以前使用RHEL4时可以通过如下命令安装: rpm ...

linux下使用gcc编译运行C程序

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.  在 ...

linux下使用gcc编译运行C/C++程序

编译C  首先,程序编译过程有: 1.预处理(展开宏,头文件,检查代码是否有误) 2.编译(将.c转为汇编代码.s) 3.汇编(将汇编代码.s转为机器代码.o) 4.链接(将所有机器代码.o和库文件链 ...

Mac下用g++编译opencv程序报错

问题描述: 在Mac下安装好opencv, 安装:    bash  brew install opencv      写了一个opencv程序:    ``` C++ //作用就是:取视频的每一帧, ...

在Linux下用gcc编译hello world

1. 确保Linux系统里已经装好了gcc 测试:输入gcc后是如下的结果就说明已经安装成功 2. 创建HelloWorld.c 使用 touch 创建一个空文件; 用vim编辑 按下A或者I 插入 ...

【转载】在windows下使用gcc编译jni的简单教程

转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge ...

随机推荐

Android --日期控件使用并显示选择的日期

1. main.xml <?xml version="1.0" encoding="utf-8"?>

webpack 理解

目录 关于此文 在学习webpack之前,我们先去了解它的作用 它与其他其他前端工具(gulp,grunt)有什么差别呢 安装 webpack.config.js 配置结果 webpack 开始简单配 ...

xcopy命令总结

xcopy命令总结1.拷贝多个文件和目录用xcopy /yhie或者xcopy /yhis命令,注意目标路径要以\结尾,例如:xcopy /yhie *.* e:\xxx\2.拷贝多个固定名字的文件用 ...

微信小程序swiper制作内容高度不定的tab选项卡

微信小程序利用swiper制作内容高度不定的tab选项卡,不使用absolute定位,不定高度,由内容自由撑开主要思路是获取内容区的高度来给swiper动态设置值 .wxml

当碰到需要调试打包后的js

在react中经常开发碰到不能热更中进行调试的,如IE之类的 这个时候我们就需要打包才能运行看到效果, 但是往往每次打包都需要很长的时间: 这个时候我们就可以直接找到打包后的文件,直接在改文件中修改: ...

Node程序debug小记

有时候,所见并不是所得,有些包,你需要去翻他的源码才知道为什么会这样. 背景 今天调试一个程序,用到了一个很久之前的NPM包,名为formstream,用来将form表单数据转换为流的形式进行接口调用 ...

LoadRunner的简单使用《第一篇》

LoadRunner是一个用压力测试的软件.这东西比较难上手,光安装就非常麻烦.好不容易一步步跟着安装说明安装好之后,还是用不了. 记录一个问题如下: 导入脚本的时候报错fail to create ...

git推送文件到远程仓库

远程仓库未创建 git init 初始化一只本地仓库 把你的项目扔进去(或者基于初始化仓库建立项目vue init webpack demoxxxx) git status //查看状态 git ad ...

Abstract(抽象)

谈到抽象,就先谈谈面向对象语言的三大特性,也是人们口中常说的封装.继承.多态. 封装:什么是封装,按到我的理解,封装就是把某些类的相关属性和方法封装,对内实现数据影城,对外提供稳定接口. 继承:从字面 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值