zoukankan      html  css  js  c++  java
  • Linux 下C++编写

    今天搞了一天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]

  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/lp3318/p/5612267.html
Copyright © 2011-2022 走看看