之前一直在Windows系统下进行程序的设计,近期开始学习使用Linux系统,因而打算将程序开发也转移到Linux系统下。今天先简单介绍一下该系统下的C程序开发步骤。

首先要预先安装vim和gcc工具,然后我们先编写一个“Hello World”程序:

1.在目录下打开命令窗口,输入  vim hello.c  创建并打开 hello.c 文件,按键<I>进入编辑模式,输入如下代码:

  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. printf("Hello World!\n");
  6. return ;
  7. }

按<Esc>退出编辑,<:>wq保存并退出编辑界面。

2.输入 gcc hello.c -o hello 编译 hello.c 文件并输出 hello 可执行文件。其含义为:gcc[源文件名]输出[输出文件名]。当然,用户也可以分步编译

gcc -E hello.c -o hello.i    预编译

gcc -S hello.i -o hello.s    对生成的 hello.i 文件编译,生成汇编代码

gcc -c hello.s -o hello.o    将汇编代码文件 hello.s 编译为目标文件

gcc hello.o -o hello         将 hello.o 与 C 标准输入输出库进行连接,最终生成程序 hello

3.输入 ./hello 运行当前目录下的 hello 程序,会看到屏幕上打印的“Hello World!”字样。

至此 Hello World 程序编译完毕,接下来我介绍一下多文件的编译。创建文件 Main.c 和 Add.c

  1. /*
  2. Add.c
  3. */
  4. #include<stdio.h>
  5.  
  6. int add(int num0,int num1)
  7. {
  8. return num0+num1;
  9. }
  1. /*
  2. Main.c
  3. */
  4. #include<stdio.h>
  5.  
  6. int add(int num0,int num1);
  7.  
  8. int main()
  9. {
  10. printf("%d",add(,));
  11. return ;
  12. }

编写完两个文件后,在命令行输入 gcc Main.c Add.c -o ADD 。输入 ./ADD 运行程序。

Linux系统中C&Cpp程序开发(一)的更多相关文章

  1. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  2. Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名

    Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf  动态库的后缀为*.so  静态库的后缀为 libxxx.a   ldconfig   目录名 转载自:http://b ...

  3. Linux系统中“动态库”和“静态库”那点事儿【转】

    转自:http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻. ...

  4. Linux系统中“动态库”和“静态库”那点事儿

    摘自http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻.在 ...

  5. (转)浅谈 Linux 系统中的 SNMP Trap

    原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前, ...

  6. 使用VS2017 编写Linux系统上的Opencv程序

    背景 之前写图像算法的程序都是在window10下使用VS编写,VS这个IDE结合“ImageWatch.vsix“插件,用于调试opencv相关的图像算法程序十分方便.后因项目需要,需将相关程序移植 ...

  7. 2017-03-04 dotnet core网站发布到Linux系统中

    今天开始学习dotnet core的开发,距离Visual Stuio 2017正式版的发布,也就是VS20周岁的生日还有三天,在我的电脑上安装的是VS2017 Enterprise RC版, 在VS ...

  8. 【OS_Linux】Linux系统中目录及文件管理

    1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录, ...

  9. Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)

    1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...

随机推荐

  1. 智能SQL优化工具--SQL Optimizer for SQL Server(帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 )

    SQL Optimizer for SQL Server 帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 SQL Optimizer for SQL Server 让 SQL Serve ...

  2. InstallShield 覆盖安装

    “吾乐吧软件站”提供了很全面详细的InstallShield制作安装包教程(http://www.wuleba.com/23892.html),但是按上面的方法再次制作的升级安装包,安装后会在系统中同 ...

  3. telnet简单操作 模拟请求

    telnet简单操作   模拟请求 一: 二: 三: 按照以上操作即可!

  4. Ubuntu 13.10 Mono安装历程

    这两天捣鼓一下Mono,记录一下自己所遇到的问题,已经解决办法 首先,先打开gnome-terminal 1. 先更新的一下系统 sudo apt-get update sudo apt-get up ...

  5. CentOS 7 之几个新特性(转)

    上篇我们讲到默认没有ifconfig是centos7的新特性,所以我特意上网搜索了一下其新特性,找到一篇文章,现转过来. centos最小好化安装没有ifconfig命令 刚安装了centos7.0, ...

  6. Oracle数据库之PL/SQL游标

    1. 游标概念 字面意思是游动的光标,是指向上下文区域的句柄或指针. 在PL/SQL块中执行CRUD操作时,ORACLE会在内存中为其分配上下文区.用数据库语言来描述游标就是:映射在上下文区结果集中一 ...

  7. PHP如何防止SQL注入及开发安全 53

    PHP如何防止SQL注入及开发安全 [php]  function inject_check($sql_str) {     $check=eregi('select|insert|update|de ...

  8. bootstrap--- 两种bootstrap multiselect组件大比拼

    http://www.cnblogs.com/landeanfen/p/5013452.html 1.第一种可以兼容IE,第二种不能兼容

  9. empty()方法

    empty()可以用来检查一个变量是否被声明或者值为false,通常被用来检查一个表单变量是否被发送或者包含数据. 例如一个登录表单: <?php if(!empty($_POST['uname ...

  10. PYTHONE的WHILE,BREAK,CONTINUE示例

    简短示例: while True: s = raw_input('Enter something : ') if s == 'quit': break if len(s) < 3: print ...