问题:Command Line Tools for Xcode有什么用

答案: Command Line Tools里面有git, xcrun, xcodebuild, gcc, gdb, make等等。

在Mac下安装和使用gcc命令行工具

这样,就不用去windows下使用Visual C++了。
 

Apple在Xcode4后不再默认安装gcc等命令行工具,如果需要使用命令行工具(gcc、gdb、make等)进行开发,在AppStore中安装好Xcode后,打开Xcode。

 
选择Xcode----> Preferences,打开对话框,选择Downloads。
在Components下面,下载Command Line Tools。
 
 
下载完成后,如下图所示。
安装完成后,就可以在终端中,使用gcc了。
下面是查看gcc的版本。
 
查看gcc的版本及信息:
gcc -v
 
 
 
 
编译,会自动生成a.out,这是可执行文件,不是目标文件:
gcc  test.c
执行,显示运行结果:
./a.out
 
执行时,显示执行时间,使用time命令:
time ./a.out
用户还可以通过使用选项-o来改变编译后的文件名,如使用下面的命令行,可以把a.out给成result:
gcc -o result test.c
这个时候,执行新命名的文件:
./result
-c选项:只把源代码(.c文件)编译成目标代码(.o文件),但跳过连接一步。它能使编译多个C程序时的速度更快且更加容易管理。默认时,gcc建立的目标代码文件只有一个.o的扩展名。
gcc -c test.c
 
 
-S选项:告诉gcc在C程序文件产生了汇编语言文件后停止编译,产生的汇编语言文件的默认文件扩展名为.s。
gcc -S test.c
 
-E选项:指示编译器只对输入的文件进行预处理,且预处理的输出将被送到标准输出而不是储存在文件里。
gcc -E test.c
 
 
 
如果安装了多个版本的gcc,要指定运行某个版本的gcc,命令如下,要注意大小写:
gcc -V 2.6.3 -v
 
显示警告:
在gcc中使用开关-W控制警告信息的命令如下:
gcc -Wall -o test test.c
 
 
浏览文件:
cat test.c
 
使用vim编辑文件:
vim test.c
 
将光标移到相关文件的地方,做出修改,然后保存修改。输入命令:
:w!
 
退出vim编辑状态,输入命令:
:q

Xcode命令行作用的更多相关文章

  1. 时空分割的画面--用xcode命令行回忆turbo c

    大学时期曾经玩过turbo c的同学,可以用xcode命令行写写c程序,回味一下吧:) 1. 首先在终端输入,touch main.c 新建文件 2. 编辑main.c内容,写一段简单代码 #incl ...

  2. Xcode 命令行工具 Command Line Tools

    xcode命令行工具包是一个小型独立包,可供下载独立于Xcode的和允许您执行命令行开发OS X. 在OS X10.9,就以及没有clt的下载安装包了,需要使用命令在线安装. xcode-select ...

  3. Xcode命令行生成Bitcode静态库

    近两三年一直在做静态库开发 1.在Xcode工程中创建静态库的Target,最初是手动Build出真机的.a文件,模拟器的.a文件,然后再用命令行合并 2.后来一些特殊的开发者,要求加入特殊的功能,或 ...

  4. xcode命令行编译时:codesign命令,抛出“User interaction is not allowed.”异常 的处理

    之前正常运行的hudson iOS编译服务器slave节点,忽然出现编译失败.发现原因有2个: 第一个原因是编译机上用来签名的用户帐号过期,第二个原因是操作系统和xCode升级造成的. 对于第一个,重 ...

  5. [Mac]使用xcode命令行编译protobuf

    因为不想每次测试与画面显示无关的小功能时把cocos2dx包含进去,所以改用xcode的command line tool直接建立c++项目. 方法: 1.点击file-new-project,选择o ...

  6. Mac OS X 中一些常用的命令行技巧

    一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物 ...

  7. Git入门(安装及基础命令行操作)

    一.安装 1.Mac 在Mac中安装Git的方法不止一种.最简单的要数通过Xcode命令行工具.对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动 ...

  8. 关于XCode 的agvtool命令行

    简介:用agvtool如何来自动更新版本号和bulid version   agvtool是一个命令行工具,允许你自动递增到下一个最高的数量或具体的数字这些数字.本文档提供了更新您的构建和版本号码使用 ...

  9. linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)

    本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...

随机推荐

  1. javaweb带父标签的自定义标签

    1.完整的示例代码:要实现的功能是父标签中有name属性,子标签将父标签的name属性值打印到jsp页面上. 1.1 父类和子类的标签处理器类 testParentTag.java package c ...

  2. POI 2000 ------Stripes

    Stripes Time Limit:1000MS Memory Limit:30000KBTotal Submit:94 Accepted:43 Description Stripes is a t ...

  3. Hello Activemq

    0. 如果永远是localhost 可能一直low下去 1.下载安装 activemq 1.1 从官网下载activemq.tar.gz 并上传(rz)到linux系统 并解压 tar zxvf /* ...

  4. JVM jmap

    需求:经常会因为OOM而导致系统挂掉,很多服务无法连接,所以准备了解一下. 参考:http://www.open-open.com/lib/view/open1390916852007.html 一. ...

  5. MFC string char cstring 类型转换

    在Unicode环境下用以下转换: CString z_strCurtTime = _T(""); // 获取当前时间 CTime z_tCurTime = CTime::GetC ...

  6. C++11标准之右值引用(rvalue reference)

    1.右值引用引入的背景 临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题.但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了Copy Elision.RVO(包 ...

  7. Controller与View数据传递 多Model传递

    1)ViewBag变量方式 使用4个ViewBag变量进行数据传递,Data1.Data2.Data3.Data4的数据直接从数据库里调. Control中伪代码如下所示: 1 public Acti ...

  8. 关于windows server 里Let's Encrypt续订的问题

    引言 Let's Encrypt是什么就不详细说了,它是免费的https证书,优点就是免费,缺点就是每三个月就要自己续上.今天主要介绍的是续上有效期的环节. 1.安装certify 下载地址: htt ...

  9. 【Leetcode】【Medium】Gray Code

    The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...

  10. Python学习---进程 1225

    进程创建 进程创建: 第一种:直接创建 第二种:利用类来实现 第一种:直接创建 from multiprocessing import Process import time def f(name): ...