今天搞了一天Linux下C++编程,还没有什么成效。好烦躁好心焦,想砸电脑的冲动。抽根烟理下思路一定要把它拿下!!

===搞了两天,真是搞到生无可恋,试了共享文件, 试了网络配置,各种博客就是各种行不通(其实,个人觉得,同一个问题很多人都会遇到,但是每个问题又有无数个细节左右,可能别人根据这种方法解决了,对你并不一定好使。不要太过于依赖博客,作为参考即可,还是要学会分析问题抓住核心,大不了推倒从来)。还好,跟一实验室的朋友一起弄,他在某大公司培训过Linux,自是熟练得多,也没搞出。。。。重装!!!!!是啊,所有路都走不通的时候为什么不从头再来呢?果断好使了啊。

前言

很专业的介绍编辑器:http://blog.csdn.net/netanimals/article/details/6446174

Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户,而linux下,开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如:

编辑器(emacs, vim) 用来进行编辑程序的
调试器(gdb) 用来调试程序
编译器(GCC) 用来编译和链接程序的
性能分析工具(gcov, gprof) 用来优化程序的
文档生成器(doxygen) 用来生成文档的

GCC可以看作一个软件包,除了编译工具,它还集成了调试器gdb性能分析工具gcov, gprof。只要我们装好了GCC,这些强大工具就可以直接使用了。

联网状态下:yum install gcc  自动解决依赖问题

但是yum install gcc-c++ libstdc++-devel 安装g++就不成功

用which g++就可以查看g++安装成功与否(在。/usr/bin)

文件的编译过程

在一次电话面试中被问到c++文件的编译过程,没怎么准备的我自然是没有答上来啊,面试官很nice的鄙视了一把。

编译原理给的过程:

一.词法分析

二.语法分析

三.语义分析

四.优化

五.目标代码生成

另一种详细的说法:(图来源于:http://www.cnblogs.com/kekec/p/3238741.html)

预处理:主要是做一些代码文本的替换工作。(该替换是一个递归逐层展开的过程。)

(1)将所有的#define删除,并展开所有的宏定义

(2)处理所有的条件预编译指令,如:#if  #ifdef #elif #else #endif

(3)处理#include预编译指令,将被包含的文件插进到该指令的位置,这个过程是递归的

(4)删除所有的注释//与/* */

(5)添加行号与文件名标识,以便产生调试用的行号信息以及编译错误或警告时能够显示行号

(6)保留所有的#pragma编译器指令,因为编译器需要使用它们

编译:把预处理完的文件进行一系列词法分析lex)、语法分析yacc)、语义分析优化后生成汇编代码,这个过程是程序构建的核心部分。

汇编:汇编代码->机器指令。

链接:这里讲的链接,严格说应该叫静态链接。多个目标文件、库->最终的可执行文件(拼合的过程)。

http://blog.csdn.net/microzone/article/details/6707327

此过程中我自己用到的一些命令记录如下

1.执行一下 ifconfig 命令,看看目前工作的网卡是哪个

2.linux删除目录使用rm -rf命令即可。
     直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
     -r 就是向下递归,不管有多少级目录,一并删除
     -f 就是直接强行删除,不作任何提示的意思

3.lspci :查看网卡的硬件信息  (如果是usb设备,则用lsusb)

4.ifconfig : 查看接口信息

(ifconfig -a :所有网络接口;  ifconfig eth0:查看eth0接口)

(ifup eth0:启用网卡eth0; ifdown eth0 :禁用网卡eth0)

5.setup:手动配置ip,getway,network等

[所有网卡信息在配置文件中:/etc/sysconfig/network-scripts/]

[DNS配置文件:/etc/resolv.conf]

[主机名配置文件:/etc/sysconfig/network]

Linux 下C++编写的更多相关文章

  1. linux 下shell 编写脚本

    linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...

  2. 2.linux下Makefile编写规范

    转自陈皓 (CSDN) 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 profession ...

  3. Linux下高效编写Shell——shell特殊字符汇总

    Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好 ...

  4. Linux下批处理文件编写

    linux下的批处理文件,基本就是shell脚本文件. 一.最简单的脚本书写方法为: 1.新建一个文件,名字为test(自己定义的名字) touch test.sh 2.在里面编写脚本 程序必须以下面 ...

  5. linux下shell编写九九乘法表

    主要语法:类似    1x2       echo   $((1*2)) for 变量 in 值1 值2 值3 ;do linux命令或者语句done

  6. 1.linux下Kconfig编写规范

    http://www.linuxidc.com/Linux/2011-10/44721.htm

  7. Linux下C编写基本的多线程socket服务器

    不想多说什么,会搜这些东西的都是想看代码的吧. 一开始不熟悉多线程的时候还在想怎么来控制一个线程的结束,后来发现原来有pthread_exit()函数可以直接在线程函数内部调用结束这个线程. 开始还想 ...

  8. linux下如何编写shell脚本

    我对shell脚本的认识,除了执行过同事写的shell 脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术log里记录下来 ...

  9. 在linux下实现mysql自动备份数据

    使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...

随机推荐

  1. Java工程师三大框架面试题汇总

    1. Hibernate3 提供了属性的延迟加载功能? 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内 ...

  2. http协议读书笔记1-概述

    1.http协议在网络中的位置: http协议位于TCP协议的上层,http试用tcp来传输其报文数据,tcp在ip的上层. 2.浏览器发起连接的过程 上述图的过程是: 浏览器从url中解析出服务区的 ...

  3. Catching Fish[HDU1077]

    Catching Fish Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  4. LINUX多线程(一)(创建和退出)

    1. Linux多线程概述 1.1. 概述 进程是系统中程序执行和资源分配的基本单位.每个进程有自己的数据段.代码段和堆栈段.这就造成进程在进行切换等操作时都需要有比较负责的上下文切换等动作.为了进一 ...

  5. php 对问卷结果进行统计

    背景: 由于具体工作的原因,我做了一份纸质的问卷调查表,调查表的主要内容是让用户对10项要求(编号为A,B....)进行优先级排序,所以我得到的结果是好几百份类似于A>I>H>G&g ...

  6. SpringMVC实现注解式权限验证

    SpringMVC学习系列(9) 之 实现注解式权限验证 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servle ...

  7. CTF中常见密码题解密网站总结

    0x00.综合 网站中包含大多编码的解码. http://web2hack.org/xssee/ https://www.sojson.com/ http://web.chacuo.net/ 0x01 ...

  8. mysql修改连接数

    方法一:   进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起M ...

  9. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...

  10. Java通过SMS短信平台实现发短信功能

    在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信 ...