cam*_*amh 175
如果它是一个简单的单一源程序:
make foo
Run Code Online (Sandbox Code Playgroud)
源文件是foo.c或foo.cpp等.
你甚至不需要makefile.Make有足够的内置规则将源文件构建为同名的可执行文件,减去扩展名.
运行刚才构建的可执行文件与运行任何程序相同 - 但是您通常需要指定可执行文件的路径,因为shell只搜索$PATH查找可执行文件的内容,并且通常不包括当前目录(.).
所以要运行构建的可执行文件foo:
./foo
Run Code Online (Sandbox Code Playgroud)
And*_*rov 107
gcc main.cpp -o main.out
./main.out
Run Code Online (Sandbox Code Playgroud)
Kom*_*gem 67
这是适用于所有Unix机器的命令......我在Linux/Ubuntu上使用它,但它也适用于OS X. 在Terminal.app中键入以下命令.
$ g++ -o lab21 iterative.cpp
Run Code Online (Sandbox Code Playgroud)
-o 字母O不是零
lab21 将是你的可执行文件
iterative.cpp 是你的c ++文件
运行该命令后,在终端中键入以下内容以运行程序:
$ ./lab21
Run Code Online (Sandbox Code Playgroud)
Vic*_*sto 32
对我来说有两个步骤:
第一:
make foo
Run Code Online (Sandbox Code Playgroud)
然后:
./foo
Run Code Online (Sandbox Code Playgroud)
orj*_*orj 15
Unix(Linux,Mac OS X,AIX等)环境中的所有应用程序执行都取决于可执行的搜索路径.
您可以使用以下命令在终端中显示此路径:
echo $ PATH
在Mac OS X上(默认情况下),这将显示以下冒号分隔的搜索路径:
在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录:在/ usr/local/bin目录:在/ usr/X11/bin中
因此,列出的目录中的任何可执行文件都可以通过键入其名称来运行.例如:
cat mytextfile.txt
这将运行/bin/cat并显示mytextfile.txt到终端.
要运行不在可执行搜索路径中的任何其他命令,您需要限定可执行文件的路径.所以说我在Mac OS XI上的主目录中有一个名为MyProgram的可执行文件可以像这样完全限定它:
/用户/奥利弗/ MyProgram
如果您所在的位置靠近您希望执行的程序,则可以使用部分路径限定名称.例如,如果MyProgram在/Users/oliver/MyProject我和我的主目录中的目录中,我可以像这样限定可执行文件名,并让它执行:
MyProject的/ MyProgram
或者说我在目录中/Users/oliver/MyProject2并且我想执行/Users/oliver/MyProject/MyProgram我可以使用这样的相对路径来执行它:
../MyProject/MyProgram
同样,如果我在同一个目录中,MyProgram我需要使用"当前目录"相对路径.您所在的当前目录是句点字符后跟斜杠.例如:
./MyProgram
要确定您当前使用的目录,请使用该pwd命令.
如果您经常将程序放在硬盘上想要运行的位置而不必限定其名称.例如,如果您的主目录中有一个"bin"目录,用于其他程序的常用shell脚本,则更改可执行搜索路径可能是明智之举.
通过.bash_profile在主目录中创建或编辑现有文件并添加以下行,可以轻松完成此操作:
#!/bin/sh
export PATH=$PATH:~/bin
Run Code Online (Sandbox Code Playgroud)
这里,波浪号(〜)字符被用作/ Users/oliver的快捷方式.另请注意,hash bang(#!)行需要是文件的第一行(如果它尚不存在).另请注意,此技术要求您的登录shell为bash(Mac OS X和大多数Linux发行版的默认设置).另请注意,如果您希望安装的程序~/bin优先于系统可执行文件使用,则应按如下方式重新排序export语句:
export PATH=~/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
ner*_*ler 10
瑞安,我正在改变这个问题而不是评论,因为看起来我太简短了.在"终端"中做所有这些.
要使用G ++编译器,您需要执行以下操作:
导航到存储*.cpp文件的目录.
cd ~/programs/myprograms/
(〜是您家的快捷方式,即/ Users/Ryan/programs/myprograms /,替换为您实际使用的位置.)
编译它
g++ input.cpp -o output.bin (output.bin可以是任何具有任何扩展名的东西,真的.bin在unix上很常见.)
如果成功,应该返回NOTHING,这没关系.通常你会得到失败的回报.
但是,如果键入ls,您将在同一目录中看到文件列表.例如,您将看到其他文件夹,input.cpp和output.bin
从目录内部,现在执行它 ./outbut.bin
假设当前目录不在路径中,则语法为./[name of the program].
例如 ./a.out
添加以下内容以获得最佳警告,您不会后悔.如果可以的话,编译WISE(警告是错误的)
- Wall -pedantic -Weffc++ -Werror
Run Code Online (Sandbox Code Playgroud)
这样做的紧凑方式可能是:
make foo && ./$_
Run Code Online (Sandbox Code Playgroud)
很高兴有一个单行,所以你可以轻松地重新运行你的可执行文件.
小智 5
要编译C或C ++程序,有一个通用命令:
make filename
./filename
make会将您的源文件构建为具有相同名称的可执行文件。但是,如果您要使用标准方式,则可以使用gcc编译器来构建C程序和g ++ for c ++
对于C:
gcc filename.c
./a.out
Run Code Online (Sandbox Code Playgroud)
对于C ++:
g++ filename.cpp
./a.out
Run Code Online (Sandbox Code Playgroud)
小智 5
第 1 步 - 使用命令创建 cpp 文件
touch test.cpp
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 运行此命令
g++ test.cpp
Run Code Online (Sandbox Code Playgroud)
第 3 步 - 运行您的 cpp 文件
./a.out
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
501429 次 |
| 最近记录: |