1. Mac 上使用什么编译器编写c#
编写c#的叫“编辑器”,编译器是用来生成IL代码的工具。
在Mac平台可选的c#编辑器也很多,Visual Studio for Mac当然最好,VS Code也很不错,JetBrains公司的Rider也是很好的选择。以上三种编辑器(IDE)同时也都自带了C#的编译器(VS Code要下载并配置一下插件)。
2. 用苹果系统终端编写c语言之后怎么运行
若要在 Mac 的终端中编译并运行 C 源代码,你首先需要安装 Command Line Tools,里面包含有 GCC 编译器。安装方法为:
打开终端,输入 gcc。
如果你没有安装 Command Line Tools,会弹出一个窗口提示你安装,如图所示,点击安装即可。如果出现提示“clang_error: no input files”,说明你已经安装了 gcc 编译器,可以直接开始编译程序。
在终端中输入 ./可执行文件的名称 即可执行你的程序。例如,我输入
. est1
后,就可以执行程序了。如果提示你 Permission Denied,则是因为你没有赋予这个文件执行权限,需要在终端里输入
chmod u+x test //(最后参数为你的文件名,来使其可在你的账户下执行)1
如果运行时出现 Segmentation Fault,则说明你的代码里有 bug 导致程序崩溃。
3. 苹果MAC系统怎么编译C语言
在 Mac OS X 下学习C语言使用 Xcode。
在 Xcode 上运行C语言程序需要先创建工程,再在工程中添加源代码。
1、 打开 Xcode,选择“Create a new Xcode project”创建一个新工程,如下图所示:
左侧是工程目录,主要包含了工程所用到的文件和资源。单击“main.c”,即可进入代码编辑模
式,这里 Xcode 已经为我们创建好了一个“Hello World”小程序。点击上方的“运行”按钮,即
可在右下角的选项卡中看到输出结果。
拓展资料
Xcode是由Apple官方开发的IDE,支持C、C 、 Objective-C、Swift等,可以用来开发 Mac OS X 和 iOS上的应用程序。Xcode最初使用GCC作为 编译器,后来由于GCC的不配合,改用LLVM。
4. mac文本编辑器怎么用
可
textmate for mac
Marked Mac版
还有mac自带的文本编辑
5. mac版的codeblocks怎么用啊
步骤1:Code::Blocks主菜单“文件”→“新建”→“项目…” 弹出如下对话框中,开始“Console Application”。
(图 1 开始“Console Application”向导)
步骤10:其中“Hello world!”是我们程序的输出。下面的内容是Code::Blocks为了方便我们调试而增加的内容(本来该程序运行后,就直接退出),包括显示了程序运行用时,以及提示“按任意键退出”。
6. 在mac电脑的terminal里该如何运行c语言
若要在 Mac 的终端中编译并运行 C 源代码,你首先需要安装 Command Line Tools,里面包含有 GCC 编译器。安装方法为:
1.打开终端,输入 gcc。
如果你没有安装 Command Line Tools,会弹出一个窗口提示你安装,如图所示,点击安装即可。如果出现提示“clang_error: no input files”,说明你已经安装了 gcc 编译器,可以直接开始编译程序。
拓展资料
macos安装xcode command line tool的两种方法
Terminal运行xcode-select --install然后点击安装
登录https://developer.apple.com/download/more/然后下载dmg安装
7. 如何在mac系统下直接利用文件编辑器与终端编程
Mac OS X Terminal 101:终端使用初级教程
July 29, 2012/编程指南
最近学习苹果认证的《Mac OS X Support Essentials》教程,看到 Command Line 一节有很多实用的知识,下面选取一部分翻译 + 笔记,整理成此文。
你可以整天驾驶汽车而不用知道如何修理它们,但是如果你希望当一个维护员,你就需要知道事情是如何运作的。同样的事情也发生在了 Mac OS X 上;你可以一直使用 Mac 而不用知道如何修理它,但是如果你想对系统做一些维护或解决一些问题,那么你需要知道如何使用 command-line。
为什么要使用命令行/如何开启命令行?
许多功能在图形界面不提供,只有通过命令行来实现。
Finder会隐藏许多你不太会需要的文件,然而 command line 会允许你访问所有文件。
通过 command line 可以远程访问你的 Mac(利用 SSH)。
administrators 用户可以通过sudo命令获得 root 用户权限。
通过 command-line script 可以使工作更高效。
Terminal(终端)程序可以在“实用工具”里找到。
如果你开启手动输入用户名登陆模式,登陆时在用户名处输入>console可以直接进入命令行界面。随后你仍然需要登录到一个账户。
初识Command Line
许多命令会花费一些时间来执行,然而这中间不会给出任何提示或者进度条。一般结束后会出现一个“用户名$”的标记。如果没有出现,那么说明最后一条命令正在执行。
一条命令包括 Command Name、Options、Arguments、Extras 四个部分,但是后三个部分有时是可选的。Options 部分用-作为前导符。其中许多命令的 Options 部分只包含单个字母,这时可以合并。例如,ls -lA和ls -l -A是等效的。Arguments 部分用来细化这个命令或指定这个命令具体的实施对象,Extras 部分则用来进一步实现其他功能。
举例:下列命令包含前三个部分,用于删除 Junk 这个程序。
michelle$ rm -R /Applications/Junk.app
如果你输入了一些错误的命令,系统会返回一些错误信息。但是系统却不会阻止你做傻事(例如删除整个用户文件夹)。
关于 man 命令
虽然有上千条命令,每条命令还有许多可选参数和具体的使用方式,但是你却不需要记住这些命令。你只需要记住一个:man
大多数命令都会包含一个使用指南,会告诉你任何你需要知道的关于这个命令的所有细节,在命令行中输入man command-name即可获取。例如,你想知道ls这个命令怎么使用,输入man ls即可进入使用指南页面。
使用指南往往很长,所以你可以使用▲(上箭头)或▼(下箭头)来上下移动,使用来翻页,输入/和关键字来按照关键字搜索,按Q来退出使用指南页面。
那么——如果你连命令名称都不知道怎么办呢?输入man -k和关键字来对整个使用指南数据库进行搜索。
命令行,文件和路径
如果知道如何使用命令是掌握 command line 的第一步,那么第二步就是学习如何在 command line 中使用文件路径。如果你掌握了文件路径,你将会发现这比使用 Finder 更加快捷。
注意
command line 工具是大小写敏感的,并且对于文件名,必须包括扩展名。例如,你想找iTunes这个程序,输入itunes是无效的,必须输入iTunes.app。
Mac OS传统上喜欢使用“文件夹”(folders)这个名称,但是在 command line 中,主要使用“目录”(directory)这个词。这和 UNIX 是一致的。
两种路径:绝对路径和相对路径
绝对路径:完整描述一个文件的位置,总是以斜杠(/)(forward slash)开头。例如/Users/michelle/Public/Drop Box。
相对路径:只描述一部分位置信息,它和你在 command line 目前的目录有关。当你打开新的 Terminal 程序时,command line 会话的目录应该是你的 home folder。这时上面例子文件夹的相对路径写作Public/Drop Box。显然它从当前目录开始。和html类似,你也可以使用两个点(“..”)来代表父目录,这样你就可以用相对路径表示上级或同级目录了。例如你可以输入cd ..甚至cd ../..
切换到其他路径和目录
如果你想将当前 command line 会话切换到其他目录,需要用到三个命令:pwd,ls和cd。
pwd的含义是“print working directory”,会显示当前目录的绝对路径。
ls的含义是“list directory contents”,它会列出当前目录的内容。这个命令还有其他参数可选。
cd的含义是“change directory”,它会改变当前目录到你指定的目录。如果你不指定,则会返回你的 home folder。
处理特殊字符
如果目录中有特殊字符(空格,括号,引号,[],!,$,&,*,;,|,),那么直接输入空格会造成系统识别困难,必须使用特殊的语法来表示这些字符。例如上例中,空格前添加反斜杠“”(back slash)即可:cd Punlic/Drop Box/。除了反斜杠,也可以用引号的方法:cd "Public/Drop Box"。
——如果不想手动输入,也可以把文件从 Finder 拖到 Terminal 窗口来创建绝对路径,这会方便一些,因为上面提到的所有特殊字符在拖动后都会自动变成系统可识别的表示方法。其实,更有效率的解决方案是使用 Tab Complete 功能。
Tab Complete 是 command line 中最能给你节省时间的特性之一,利用它的自动完成文件、目录名称功能还可以防止你输入错误。使用cd进入你的 home folder,使用cd P命令,然后按下tab按键。你可能会听到错误音,因为你的 home folder 内有多个 P 开头的文件夹。再按一次tab,Terminal 将会为你列出 P 开头的两个文件夹:Public 和 Pictures。按U,再按tab,Terminal 则会自动为你补全Public/。Tab complete 同样会处理那些特殊字符。注意,这会在末尾保留/符号,大部分时候这没问题,但如果出错,移除多余的/试一试。
另外,鄂化符~(tilde)在command line 中可以代表当前用户的 home folder。例如~/Public/Drop Box/是合法的。
查看隐藏文件
为了简化工作,command line 和 Finder 都会隐藏许多文件和文件夹,这些内容通常是系统需要的。不借助第三方工具让 Finder 显示隐藏文件比较困难,但是在 command line 中却非常简单。首先,许多隐藏文件的隐藏是通过隐藏属性在 Finder 中隐藏的,而 command line 会忽略这些属性,所以这些文件会在 command line 中显示。另外,ls命令会隐藏文件名以.开头的文件,但是这些文件却可以被显示出来,方法是利用-a选项。例如:
michelle$ ls -la
我们还添加了-l选项,目的是控制输出格式。如果你注意输出内容的话,会发现还包括.和..两项,它们分别表示当前文件夹和父文件夹(如图)。如果你不想显示这两项,只需要把-a改成-A即可。
编辑文件和文件夹
有许多基础的命令用来编辑文件和文件夹,包括mkdir,cp,mv,rm,rmdir以及vi。下面我们来简要地介绍一下这些命令。
mkdir
“make diretory”的缩写,用来创建文件夹,语法为mkdir后接新文件夹的目录。可以用-p选项,来一起创建路径中不存在的文件夹(这样你就不用挨层创建了)。
cp
“”的缩写,用来把文件从一处复制到另一处。语法为cp后接原始路径,后接目标路径。如果你想复制整个文件夹和所有内容,需要添加-R选项。如果指定的目标路径不含文件名,则 cp 命令会按原名复制。如果指定的目标路径包括文件名,则会复制为你指定的文件名。如果仅指定新文件名,则会在原处以新名称创建文件副本。注意,系统会自动替换同名文件而不出现提示。
mv
“move”的缩写,用来移动文件。语法为mv后接原路径,后接新路径。mv 的指定路径规则和 cp 是一样的(没错,如果仅指定新文件名,它就成了重命名命令)。
rm
“remove”的缩写,会永久删除文件。注意,command-line中没有废纸篓。语法为rm后接文件路径。然而,使用 rm 命令删除的文件有可能可以通过数据恢复工具恢复。如果希望安全删除文件,可以使用srm命令。
rmdir和rm -R
rmdir是“remove directory”的缩写,这个命令会永久删除文件夹。再强调一遍,CLI 中木有废纸篓。语法为rmdir后接希望删除目录的路径。然而,rmdir 命令无法删除含有任何其他文件的文件夹,所以大多数情形下rmdir命令是不适用的。不过,你可以利用rm添加-R选项来删除文件夹及包含的所有文件。
vi
代表“visual”(视觉的),然而这个名称相当具有讽刺意味:vi可能是可视化效果最差的文本编辑器了。然而,vi 是 command line 中最常见的文本编辑器。用vi打开文本文件,只需要输入vi后接文件路径即可。Mac OS X 还提供了nano,一个更加现代的文本编辑器。它也更加方便,例如在底部包含了一个作弊小条(=_=),上面有常用的快捷键列表(你就不用背下来它们了)。然而,vi却有时是默认的文本编辑器,所以掌握vi是很有用的。
和less命令类似,vi命令会占用整个 Terminal 空间来显示文件内容。打开后,在“command模式”,vi 会等你输入一些预定义字符来告诉 vi 你想做什么。你也可以使用键盘上的箭头键单纯地浏览文件。你想编辑时,按A开始(会进入编辑模式)。文字会插入到光标处。如果你想保存,需要先退出编辑模式进入 command 模式。方法是按下esc键。回到 command 模式后,按住shift同时按两次Z来保存并退出。如果你不想保存,在 command 模式输入:quit!并按enter
return直接退出。
用Command-Line管理系统
使用su来切换用户
su命令代表“substitute user identity”,允许你在命令行中轻松切换到另一个用户账户。语法为su后接用户的短名称。然后会要求你输入密码(但是输入的时候不会显示)。执行完毕后,命令的前缀会改变,表示你拥有其他用户的权利。你可以利用who -m命令来验证当前登陆的身份。切换后,你会一直保持该用户身份,直至退出 Terminal 或者输入exit命令。
关于sudo的使用
sudo概述
更强大的命令就是sudo,代表“substitute user do”,或者,更恰当地,“super user do”。用sudo执行一个命令会使用 root 账户权限。当然,使用之前需要 administrator 账户(管理员账户)的授权(如输入密码)。
默认情况下,任何管理员账户都可以使用sudo来获取 root 权限,甚至当 root 账户在图形界面被禁用的情况下,sudo依然有效。这个命令是很多情况下我们不得不使用 Terminal 的原因,——同样也是给每个用户管理员身份的危险所在。不过,你可以调整sudo的配置文件,来限制它的使用。
bogon:~ renfei$ cat secret.txt
cat: secret.txt: Permission denied
bogon:~ renfei$ sudo cat secret.txt
Password:
This is the contents of the secret.txt text file that the user account renfei does not normally have access permissions to read. However, because he is an administrative user, she can use the sudo command to envoke root user access and read the contents of this file.
提示:如果由于你忘了使用sudo而导致命令行返回一个错误,只需输入sudo !!就可以用sudo来执行上一条指令。
记住,权力越大责任越大。不恰当地使用sudo可以轻易破坏你的系统设置。命令行只会在你第一次执行严重破坏性行为之前提示你,之后,它就会假设你清楚自己正在干什么。如果你只掌握三条使用命令行的准则,那将是:总是仔细检查你的命令;总是使用Tab completion来帮助你避免拼写错误;使用sudo之前,总是仔仔细细检查你的命令。
使用 sudo 切换 Shell
如果你是一个管理员用户,你需要执行很多条需要 root 权限的命令,你可以临时切换整个命令行 shell 来取得 root 级别的访问权限。方法就是先输入sudo -s,回车后再键入你的密码。
其他Command-Line技巧提示
输入命令open .可以用 Finder 打开当前的位置。
在 Terminal 的偏好里面可以设定它的外观和风格。
中止一个错误的或者发疯的命令,可以使用组合键control+C。
你可以在执行前编辑命令,只需要使用箭头和键盘上的其他字母。
没有输入任何命令时,你可以用▲和▼来浏览历史命令。同样可以编辑和再次执行。
你也可以使用history命令查看历史记录。
你可以使用组合键control+L清屏。
8. mac下的gcc如何使用。。
gcc常用命令行
gcc/g++在执行编译工作的时候,总共需要以下几步:
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
3.由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
/**********GCC能够处理的后缀有:**********/
a. *.c *.C (C语言)
b. *.cxx *.cc (C++语言)
c. *.m (面向对象的C)
d. *.i (预处理后的C语言源文件)
e. *.ii (预处理后的C++语言源文件)
f. *.s *.S (汇编语言)
h. *.h (头文件)
/**********目标文件可以是:**********/
a. *.o 编译连接后的目标文件
b. *.a 库文件
-o FILE 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.
-c 只编译不链接
-IDIRNAME 将DIRNAME加入到头文件的搜索目录列表中
-LDIRNAME 将DIRNAME加入到库文件的搜索目录列表中,缺省情况下gcc 只链接共享库
-lFOO 链接名为libFOO的函数库
-O 优化编译过的代码
-ON 指定代码优化的级别为N,o<=N<=3
-v 显示在编译过程的每一步中用到的命令
-x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,
如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,
除非到了下一个参数的使用。例 gcc -x c hello.pig
-x none filename 关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
例:gcc -x c hello.pig -x none hello2.c
-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
例:gcc -c hello.c 他将生成.o的obj文件
-o 制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它!
例子用法
gcc -o hello.exe hello.c (哦,windows用习惯了)
gcc -o hello.asm -S hello.c
-Idir 在你是用#include”file”的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,
他回先在你所制定的目录查找,然后再按常规的顺序去找.对#include,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
-I- 就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafter dir 在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefix prefix
-iwithprefix dir 一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
-nostdinc 使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置
-nostdin C++ 规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库使用
-C 在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
-M 生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下。
-MM 和上面的那个一样,但是它将忽略由#include造成的依赖关系。
-MD 和-M相同,但是输出将导入到.d的文件里面
-MMD 和-MM相同,但是输出将导入到.d的文件里面
-Wa,option 此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
-Wl.option 此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
-llibrary 制定编译的时候使用的库
例子用法 gcc -lcurses hello.c 使用curses库编译程序
-Ldir 制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然编译器将只在标准库的目录找。这个dir就是目录的名称。
-O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-g 只是编译器,在编译的时候,产生调试信息。
-gstabs 此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
-gstabs+ 此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
-ggdb 此选项将尽可能的生成gdb的可以使用的调试信息.
-static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行.
-share 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统有动态库.
-traditional 试图让编译器支持传统的C语言特性
9. 请问Mac如何进行c语言编译
Mac系统本质上是一个Unix系统,Unix系统就是以C语言编写的。
目前Mac OS X的开发工具为Xcode,支持C和标准C++程序的编写。而Mac平台也有不少支持C语言编程的IDE,像NetBeans和Eclipse。
不过,Mac OS X目前默认没有C语言的编译器,你需要安装Xcode,Xcode包含了GCC编译器。
如果你只是用Mac来学习C语言,安装一个Xcode即可。Xcode的安装文件在系统盘的Optional文件夹里。
10. 请问mac上如何编译c语言
提供两种方案吧:
用Xcode,是MacOS上的IDE,可以拿来编写C语言
在Terminal上用GCC编译,debug,就和Linux上一样