从开始学习C/C++我们都在是windows下,那么如何(怎样)在linux中编译C/C++代码?在linux终端下(命令行中)编译译C/C++代码?
在任何linux分支下编译C/C++代码,如 Ubuntu ,Red Hat, Fedora ,Debian 以及其他linux分支上,我们需要安装一下软件包:
1.GNU C and C++ compiler collection
2.Development tools
3.Development libraries
4.IDE or text editor to write programs
第一步:安装 C/C++ 编译器和相关工具包
如果你是使用Fedora, Red Hat, CentOS, or Scientific Linux,可以使用yum命令快速安装GNU c/c++ 编译器:
[root@dabu.info ]# yum groupinstall 'Development Tools'如果你是使用 Debian , Ubuntu Linux ,则输入apt-get命令来安装装GNU c/c++ 编译器;
[dabu@dabu.info ]$ sudo apt-get update [dabu@dabu.info ]$ sudo apt-get install build-essential manpages-dev第二步:确认是否安装成功
输入以下命令,显示编译器版本和安装的文件夹:
[dabu@dabu.info ]$ whereis gcc [dabu@dabu.info ]$ which gcc [dabu@dabu.info ]$ gcc --version
输出如下图:
如何(怎样)在linux中编译C/C++代码
创建一个demo.c文件,使用vi ,emacs 或者 joe 将下列c源代码输入进去:
#include<stdio.h> /* demo.c: My first C program on a Linux */ int main(void) { printf("Hello! This is a test prgoram.\n"); return 0; }
接着进行编译:
编译的使用语法如下:
[dabu@dabu.info ]$ gcc program-source-code.c -o executable-file-name
或者
[dabu@dabu.info ]$ cc program-source-code.c -o executable-file-name
解释:program-source-code.c是C源代码,executable-file-name是编译后得到的可执行文件
又或者
[dabu@dabu.info ]$ make executable-file-name #假设executable-file-name.c 这个文件存在 ##
下面以demo.c举例来将demo.c编译成可执行文件:
输入:
[dabu@dabu.info ]$ cc demo.c -o demo
或者
[dabu@dabu.info ]$ make demo #假设demo.c在当前文件夹下存在
如果你的C/C++源代码没有错误,编译器就会编译成功同时在当前目录下创建一个叫做demo的可执行文件。否则,源代码有错误,你需要修正后重新编译。输入下面的命令来确认生成了可执行文件:
[dabu@dabu.info ]$ ls -l demo*
如何(怎样)在linux上运行或者执行这个叫做demo的可执行文件
输入以下命令:
[dabu@dabu.info ]$ ./demo
或者
[dabu@dabu.info ]$ /path/to/demo #即demo文件的绝对路径
会话过程如下图:
编译和运行一个简单的C++程序
创建一个文件名为demo2 ,将下面的代码保存到该文件中;
#include "iostream" // demo2.C - Sample C++ prgoram int main(void) { std::cout << "Hello! This is a C++ program.\n"; return 0; }
编译demo2.c ,输入:
[dabu@dabu.info ]$ g++ demo2.C -o demo2
或者
[dabu@dabu.info ]$ make demo2
运行得到的可执行文件,输入:
[dabu@dabu.info ]$ ./demo2
如何(怎样)生成为GDB调试信息和警告信息?
C 使用以下语法;
[dabu@dabu.info ]$ cc -g -Wall input.c -o executable
解释:-Wall表示生成所有警告信息。-g表示生成调试信息
C++使用以下语法:
[dabu@dabu.info ]$ g++ -g -Wall input.C -o executable
如何(怎样)在linux上得到优化代码?
C 使用以下语法:
[dabu@dabu.info ]$ cc -O input.c -o executable
解释: -O(大写的O)表示优化代码,编译后得到的文件比没优化的小些,执行可能更快
C++使用以下语法:
[dabu@dabu.info ]$ g++ -O -Wall input.C -o executable
如何(怎样)使用数学函数的C语言程序呢?
要增加 -lm参数让gcc与数学函数库连接:
[dabu@dabu.info ]$ cc myth1.c -o executable -lm
解释:-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,比如数学库,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名。
如何(怎样)编译一个使用Xlib 图形函数的C++程序?
[dabu@dabu.info ]$ g++ fireworks.C -o executable -lX11
解释:X11表示Xlib库
如何(怎样)编译多个源文件生成可执行程序 ?
假设要同时编译light.c, sky.c, fireworks.c 这3个C语言源文件,输入:
[dabu@dabu.info ]$ cc light.c sky.c fireworks.c -o executable
C++同时编译c.C bc.C file3.C 3个源代码文件,输入:
[dabu@dabu.info ]$ g++ ac.C bc.C file3.C -o my-program-name
问题内容: 可有人点我一个体面的RPC教程(或书)的Linux,就像在这个岗位。我尝试环顾四周,但发现的教程真的很老。 谢谢 问题答案: 由于RPC的想法可以追溯到1976年,并且在1981年由Xerox首次用于商业用途,因此我不确定什么东西可以视为真正的老教程。 这里有一些资源可能对您有所帮助。 使用RPC进行电源编程(1992) 远程过程调用| Linux Journal(1997年10月1日
本文向大家介绍win10环境下C++ vs2015编译opencv249的教程,包括了win10环境下C++ vs2015编译opencv249的教程的使用技巧和注意事项,需要的朋友参考一下 打开CMake,设置源文件路径,和生成路径,第一步我新建的build和buildwin32 我之前用过了,所以这里我另外建了一个文件夹 test来演示。 然后点击Configure,会出现编译器的选项,Vis
在Linux上如何使用gcc编译c程序 如何安装gcc 编辑c代码 编辑代码 运行代码
编译简单的 C 程序 C 语言经典的入门例子是 Hello World,下面是一示例代码: #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } 我们假定该代码存为文件‘hello.c’。要用 gcc 编译该文件,使用下面的命令: $ gcc -Wall hello.c -o hell
通过前面章节的学习我们知道,GCC 编译器并未提供给用户可用鼠标点击的界面窗口,要想调用 GCC 编译器编译 C 或者 C++ 程序,只能通过执行相应的 gcc 或者 g++ 指令。本节将重点给大家讲解如何编写 gcc 或者 g++ 指令来编译 C、C++ 程序。 注意,在前面的讲解中我们一直提到“编译”C、C++ 程序,其本意指的是将 C、C++ 代码转变为可执行程序(等同于 Windows 系
本文向大家介绍linux下c语言的多线程编程,包括了linux下c语言的多线程编程的使用技巧和注意事项,需要的朋友参考一下 我们在写linux的服务的时候,经常会用到linux的多线程技术以提高程序性能 多线程的一些小知识: 一个应用程序可以启动若干个线程。 线程(Lightweight Process,LWP),是程序执行的最小单元。 一般一个最简单的程序最少会有一个线程,就是程序本身,也就是