当前位置:  技术问答>linux和unix

Linux下编程的系列问题解答与提问

    来源: 互联网  发布时间:2015-05-08

    本文导语:  好多的朋友在Linux下开发程序时都有一些非常初级的问题,但如果没有人指导的话,自已折腾好久也搞不定,所以我想大家把自己的问题,或提到问题答案写出来给大家(初学者)来看。 我有几个问题: 1、用Linux作...

好多的朋友在Linux下开发程序时都有一些非常初级的问题,但如果没有人指导的话,自已折腾好久也搞不定,所以我想大家把自己的问题,或提到问题答案写出来给大家(初学者)来看。
我有几个问题:
1、用Linux作开发环境时,在什么地方写C、C++语言;
2、如何把写好的语言编译;
最好是写也详细的步骤,因为这些操作是对初学者而言的,各位有什么问题也可以提也来,先谢谢高手们给于的耐心指导!

|
基本 makefile 结构 
GNU Make 的主要工作是读进一个文本文件, makefile 。这个文 件里主要是有关哪些 文件(‘target’目的文件)是从哪些别的 文件(‘dependencies’依靠文件)中产 生的,用什么命令来进行 这个产生过程。有了这些信息, make 会检查磁碟上的文件,如果 目的文件的时间戳(该文件生成或被改动时的时间)比至少它的一 个依靠文件旧的话, make 就执行相应的命令,以便更新目的文件。 (目的文件不一定是最后的可执行档,它可以是任何一个文件。) makefile 一般被叫做“makefile”或“Makefile”。当然你可以 在 make 的命令行指 定别的文件名。如果你不特别指定,它会寻 找“makefile”或“Makefile”,因此使用这两个名字是最简单 的。 
一个 makefile 主要含有一系列的规则,如下: 
例如,考虑以下的 makefile : 
=== makefile 开始 === 
myprog : foo.o bar.o 
gcc foo.o bar.o -o myprog 
foo.o : foo.c foo.h bar.h 
gcc -c foo.c -o foo.o 
bar.o : bar.c bar.h 
gcc -c bar.c -o bar.o 
=== makefile 结束 === 
这是一个非常基本的 makefile —— make 从最上面开始,把上 面第一个目的, ‘myprog’,做为它的主要目标(一个它需要保 证其总是最新的最终目标)。给出的 规则说明只要文件‘myprog’ 比文件‘foo.o’或‘bar.o’中的任何一个旧,下一行的命令将 会被执行。但是,在检查文件 foo.o 和 bar.o 的时间戳之前,它会往下查 找那些把 foo.o 或 bar.o 做为目标文件的规则。它找到的关于 foo.o 的规则,该文件的依靠文件是 foo.c, foo.h 和 bar.h 。 它从下面再找不到生成这些依靠文件的规则,它就开始检 查磁碟 上这些依靠文件的时间戳。如果这些文件中任何一个的时间戳比 foo.o 的新, 命令 'gcc -o foo.o foo.c' 将会执行,从而更新 文件 foo.o 。 接下来对文件 bar.o 做类似的检查,依靠文件在这里是文件 bar.c 和 bar.h 。 现在, make 回到‘myprog’的规则。如果刚才两个规则中的任 何一个被执行, myprog 就需要重建(因为其中一个 .o 档就会比 ‘myprog’新),因此连接命令将被 执行。 
希望到此,你可以看出使用 make 工具来建立程序的好处——前 一章中所有繁琐的检 查步骤都由 make 替你做了:检查时间戳。 你的源码文件里一个简单改变都会造成那 个文件被重新编译(因 为 .o 文件依靠 .c 文件),进而可执行文件被重新连接(因 为 .o 文件被改变了)。其实真正的得益是在当你改变一个 header 档的时候——你不 再需要记住那个源码文件依靠它,因为所有的 资料都在 makefile 里。 make 会很轻 松的替你重新编译所有那 些因依靠这个 header 文件而改变了的源码文件,如有需 要,再 进行重新连接。 当然,你要确定你在 makefile 中所写的规则是正确无误的,只 列出那些在源码文件 中被 #include 的 header 档…… 

|
1. 在你自己的工作目录下用vi等编辑器写程序
2. 用gcc/g++ -o app app.c/app.cpp编译

|
用vi,emacs 写
用gcc,g++编译

|
用vi,emacs 写
用gcc,g++编译,你可以买一本“java语言程序设计"
或者到www.java-cn.com
去看看


    
 
 

您可能感兴趣的文章:

  • linux 几个问题 求解答
  • SSH 无法登陆LINUX,什么问题?帮忙解答下啊
  • linux下的mib读取问题?大虾帮解答下
  • 几个linux问题,求高手解答
  • Linux创建进程的问题,请高手帮忙解答一下?
  • Linux下CVS仓库的问题?菜鸟在线急等人来解答??
  • 用虚拟机安装红旗Linux6.0出现的问题,希望高手解答。
  • 请高手解答linux无法启动的问题
  • linux 下安装FTP 问题,求解答
  • 小妹请教一下 linux的网卡 问题!望解答!
  • 初学linux命令时 遇到的一个小问题, 麻烦各位进来帮我解答下。。。。。
  • 一个Linux下的小问题,希望各位大虾给予解答
  • 刚接触Linux,关于linux下c++编程的问题,请高手解答,多谢了!
  • 小菜鸟哭问:关于在LINUX写文件的问题。请大虾们解答!!!小女子这厢有礼了!
  • 各位老大,小弟初入linux行业,遇到以下问题,请各位老大解答之~
  • linux vi问题, 很急啊!! 解答了,立刻给分。在线等
  • 我,一Linux文盲咨询端口转发问题,忘高手解答
  • 请帮忙解答arm-linux-gdb+gdbserver调试问题
  • linux信号与进程问题求解答
  • linux 2.4.0中do_signal参数传递问题,请大牛来解答
  • linux新手提问, .sh文件的写法提问。 从.bat文件转为.sh文件。
  • LINUX新手提问,如何在LINUX下添加语言项?
  • 新手提问:在REDHAT LINUX 下开发应用程序,用什么工具好,除了 LINUX C以外
  • [请置顶]关于Linux的安装使用问题 请放到 软件使用/操作系统 里提问
  • 初学者提问:可以在Linux上运行exe程序吗?
  • 新手提问:学习c++同时也想学习unix和linux
  • linux内核学习及工作的提问
  • 菜鸟提问linux
  • [菜鸟提问]关于linux下的java编程
  • <新手提问>LINUX下串口收不到数据的问题
  • 新人提问:linux下编辑器的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 虚拟机里linux系统下输入l,k,m三个字母不能正常显示,求解答
  • linux 中 困惑的地方,求解答。
  • linux 毕业设计求解答
  • 安装linux~~~~有点棘手,请给解答
  • 嵌入式Linux使用外挂Vsftpd不能正常使用, 请高手解答,谢谢。
  • linux下的swap分区与虚拟内存有什么关系,请高手解答
  • linux qt4环境下,界面显示不了图片,往高手解答
  • 如何给装好的linux 进行分区,在线等。解答后马上给分
  • --Raid绝对难题,请linux高手解答--
  • 在suse linux下安装oracle报如下错误信息,请高手解答!
  • 关于LINUX下面AWK的正则表达式,求解答,在线等
  • win7 64位专业版安装了linux虚拟系统 但ssh连接不上,求高手解答
  • Red Hat Linux9安装CMake时,gmake失败,求解答!
  • 新手学习linux编程的困惑!!急切需要解答!!
  • 菜鸟提问,初手中手高手都会解答,关于linux的shell
  • 奇怪的Linux,解答出来授予【天朝专供瓷器-敏感词】奖章
  • 谁能帮我解答linux的问题,是看端口是否开放???急
  • Linux 0.12内核中关于__sleep_on()函数的一点疑问,谢谢各位大哥帮忙解答啦。
  • 请教高手解答linux声卡驱动的疑惑
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    Linux 0.12内核中关于__sleep_on()函数的一点疑问,谢谢各位大哥帮忙解答啦。 iis7站长之家