C语言编译全过程剖析

一、 摘要 C语言编译的整个过程是非常复杂的,里面涉及到的编译器知识、硬件知识、工具链知识都是非常多的,深入了解整个编译过程对工程师理解应用程序的编写是有很大帮助的,希望大家可以多了解一些,在遇到问题时多思考、多实践。 一般情况下,我们只需要知道分成编译和连接两个阶段,编译阶段将源程序(*.c)转换成为目标代码(一般是obj文件,至于具体过程就是上面说的那些阶段),连接阶段是把源程序转换成的目标代...
阅读(5530) 评论(0)

什么是Code Review

Code Review 是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节。本文通过对Code Review的一些概念和经验的探讨,就如何进行Code Review和Code Review中应该注意什么提出一些建议。 本文中涉及的问题大部分针对JAVA类代码。同时本文不涉及Code Review过程和组织。 关键词: Code Review,JAVA, XP ,代码质量 ,软件工程 一、Code Review简介1 Code Re...
阅读(4822) 评论(1)

struct sched_param 结构体结构

sched_paramStructure that describes scheduling parametersSynopsis:#include struct sched_param { int32_t sched_priority; int32_t sched_curpriority; union { int32_t reserved[8]; struct { int32_t ...
阅读(5324) 评论(0)

基于命令的批量修改文件内容

Linux下批量替换多个文件中的字符串的简单方法:%s/oldstring/newstring/g Linux下批量替换多个文件中的字符串的方法用sed命令可以批量替换多个文件中的字符串。sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`(千万注意这个符号,是最左上角那个符号不是单引号)例如:我要把/test下所有包含abc的文件中的abc替换为def,执行命令...
阅读(11207) 评论(0)

正则匹配函数——regcomp和regexec

1.int regcomp(regex_t *compiled, const char *pattern, int cflags)这个函数把指定的规则表达式pattern编译成一种特定的数据格式compiled,这样可以使匹配更有效。函数regexec会使用这个数据在目标文本串中进行模式匹配。执行成功返回0。 regex_t:是一个结构体数据类型,用来存放编译后的规则表达式,它的成员re_nsub用来存储规则表达 式中的子规则表达式的个数,子规则表达式就是用圆括号包起来的部分表达式。 pattern:是指向...
阅读(8253) 评论(0)

Linux top 命令详解

查看多核CPU命令 mpstat -P ALL  和  sar -P ALL  说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,讲...
阅读(23497) 评论(4)

2011年编程语言排行榜:Python成为2010年度语言

Source : TIOBE Programming Community Index for January 2011 2011年1月TIOBE编程语言排行榜近日出炉,Python赢得2010年度语言的桂冠。与2010年同期比较,Python增长了1.81%,比Objective-C略高(1.63%)。得益于苹果 iPhone和iPad平台的流行,Objective-C此前一直很受欢迎,不过在最后...
阅读(3653) 评论(0)

select,poll,epoll用法

阅读本文前,请先参考: select,poll,epoll区别select用法poll用法epoll用法...
阅读(9571) 评论(0)

STL vector list deque区别与实现

1 vector    向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存储。   优点:(1) 不指定一块内存大小的数组的连续存储,即可以像数组一样操作,但可以对此数组              ...
阅读(9627) 评论(0)

fmemopen, open_memstream, open_wmemstream

NAME  fmemopen, open_memstream, open_wmemstream - open memory as stream SYNOPSIS         #includeFILE*fmemopen(void*buf,size_tsize,constchar*mode);FILE*open_memstream(char**ptr,size_t*sizeloc);#includeFILE*open_wmemstream(wchar_t**ptr,size_t*sizeloc);fm...
阅读(5561) 评论(0)

Linux Shell学习简单小结(更新中……)

if-fi#! /bin/bash # 删除文件 和 新建文件 file=readme function delFile(){ if [ -e ./$file ];then rm -f ./$file echo "del $file ..." fi } function addFile(){ if [ ! -f ./$file ];then...
阅读(7921) 评论(1)

Linux学习笔记——管道PIPE

管道:当从一个进程连接数据流到另一个进程时,使用术语管道(pipe)。#i nclude int pipe(int filedes[2]); //创建管道pipe()说明:返回值:0成功,-1出错。如果调用成功,则进程此时由了两个额外的打开文件描述符,filedes[0]中的值是管道的读取端,而filedes[1]是管道的写入端。#include#include#include#include#includeint main(){    int pipe_fd[2];    pid_t pid;    ch...
阅读(3820) 评论(0)
    个人资料
    • 访问:11679412次
    • 积分:88609
    • 等级:
    • 排名:第15名
    • 原创:707篇
    • 转载:169篇
    • 译文:16篇
    • 评论:3047条
    学习经历
    中科院、百度、创新工场、小米、阿里巴巴、米扑科技

    期货从业资格证(2017.03)
    基金从业资格证(2016.11)
    证券投资顾问证(2016.9)
    证券从业资格证(2016.6)
    系统架构设计师(2013)
    软件设计师(2008)
    CSDN创业专访

    程序员创业邦
    QQ群: 239292073
    青春,每一个有梦想的人

    资深产品经理人
    QQ群: 338142405
    思与行,人人都是产品经理

    爱脚本,爱技术
    QQ群: 320296250
    (已满)
    python、ruby、php、go、shell

    程序人生的平凡生活
    QQ群: 282297696
    (已满)
    汇聚百度、小米、微软、腾讯、
    创新工场、阿里巴巴、日本雅虎
    个人博客
    博客专栏
    博客公告
    本博客内容,由本人精心整理
    欢迎交流,欢迎转载,大家转载注明出处,禁止用于商业目的。

    文章分类