Makefile好助手:pkgconfig

你在Unix下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。   “Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂...

2011-07-29 16:52:33

阅读数:343

评论数:0

设计log函数库的几个要点

只要留意一下大项目的源码,你会发现,几乎无一例外的包括一个log模块。它的功能很直观:记录一些程序运行时信息,多数情况是用来辅助debug的。大项目都有一套的log的函数,在它的基础上开发,调用它提供的Log函数就行了,比如linux内核、apache等。也有开源log函数库,可以直接拿过用。这里...

2011-07-29 16:49:42

阅读数:329

评论数:0

检查新同事的代码时发现的问题

检查新同事的代码时发现的问题   今天看了一个组员的代码,他是今年才毕业的。在应届毕业生中,他的能力算是相当不错的了,所以我们才破格录用,并准他一个月假期回去答辩毕业论文。在他的代码中,发现几个问题,其中一些颇具代表性,把它们记下来供新手参考。   函数原型中没有参数名。比如,一个函数原型...

2011-07-29 16:48:23

阅读数:374

评论数:0

Linux下的调试工具

Linux下的调试工具   随着XP的流行,人们越来越注重软件的前期设计、后期的实现,以及贯穿于其中的测试工作,经过这个过程出来的自然是高质量的软件。甚至有人声称XP会淘汰调试器!这当然是有一定道理的,然而就目前的现实来看,这还是一种理想。在日常工作中,调试工具还是必不可少的。在Linux下,...

2011-07-29 16:35:18

阅读数:305

评论数:0

Linux下共享库(SO)有关的几个环境变量

Linux支持共享库已经有悠久的历史了,不再是什么新概念了。大家都知道如何编译、连接以及动态加载(dlopen/dlsym/dlclose)共享库。但是,可能很多人,甚至包括一些高手,对共享库相关的一些环境变量认识模糊。当然,不知道这些环境变量,也可以用共享库,但是,若知道它们,可能就会用得更好。...

2011-07-29 16:32:43

阅读数:293

评论数:0

i++循环与i--循环的执行效率

昨天同事问了我一个问题,有两个循环语句: for(i = n; i > 0; i–) { … } for(i = 0; i { … } 为什么前者比后者快? 我当时的解释是: i–操作本身会影响CPSR(当前程序状态寄存器),CPSR常见的标志有N(结果为负), Z(...

2011-07-29 16:14:21

阅读数:304

评论数:0

C语言之if...else PK switch...case

在学校学C的那会儿,就已经知道switch...case的执行效率要相对if...else较高了(大体上讲),因为从字面上和逻辑上看,switch...case是不用像if...else那样做一系列比较判断就可以直接定位到相应的条件分支的。不过也没有深究过其中的原理。后来由于一偶然原因,就明白了其...

2011-07-27 09:19:44

阅读数:474

评论数:0

#define

#define用法           1.简单的define定义 #define   MAXTIME   1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i 编译器在处理这个代码之前会对MAXTIME进行处理替换为1000...

2011-07-25 09:32:39

阅读数:274

评论数:0

程序员技术练级攻略

导读:本文是由陈皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者个人的学习经历。每个程序员都希望自己能顺利的升级到高的层次,您不妨按照下面的方法去做。 前言 你是否觉得自己从学校毕业...

2011-07-20 16:43:51

阅读数:508

评论数:0

指针的那点事

懂得C语言的人都知道,C语言之所以强大,以及其自由性,绝大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。所以从我的标题加了个(一)也可以看出指针的重要性,我尽可能的向大家交代清楚我对于指针的理解。所以在讲解的过程中我尽可能的用代码加文字的描述方式,通过代码的分析来加深我们...

2011-07-20 14:18:32

阅读数:468

评论数:0

C语言之断言

每次写摘要我都觉得是一件很头疼的事儿,因为我知道摘要真的很重要,它几乎直接就决定了读者的数量。可能花了九六二虎之力写出来的东西,因为摘要的失败而前功尽弃,因为绝大多数的读者看文章之前都会浏览下摘要,如果他们发现摘要“不对口”,没有什么特色和吸引人的地方,那么轻则采用一目十行的方法看完全文,重则对文...

2011-07-20 14:14:54

阅读数:262

评论数:0

一道EMC面试题,关于void指针

题目:补充语句,使下面程序if判断语句始终为真,不能改动if判断语句,即只能在之前加语句 if ((*f = 0)||(void *)f == (void *)&f) {   /* statements always executed*/ }   很简单,    v...

2011-07-19 14:04:09

阅读数:519

评论数:0

各类资料汇总

点击打开链接

2011-07-19 13:58:36

阅读数:323

评论数:0

几种开源的TCP/IP协议栈对比

几种开放源码的TCPIP协议栈概述 1、BSD TCP/IP协议栈      BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP 栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未...

2011-07-19 13:56:33

阅读数:3083

评论数:0

辞职后五险一金怎么处理?

养老保险 一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。那单位给你交的21%到哪里去了?国家把单位为你交的21% 的钱全部划到国家的养...

2011-07-19 13:55:51

阅读数:467

评论数:0

如何选择开源许可证?

如何为代码选择开源许可证,这是一个问题。   世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。   乌克兰程序员Paul Bagwell,画了一张分析图,说明应该...

2011-07-19 13:53:29

阅读数:278

评论数:0

请不要做浮躁的人

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来再参考别人的提示,你就知道自己和别人思路的差异。 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久 都是只对部分功能熟悉而已,不系统还是不够的。 3.看帮助,不要因为很难而自己是初...

2011-07-18 15:22:02

阅读数:281

评论数:0

程序人生-我已经努力了七年

程序人生-我已经努力了七年       声明:这不是我本人的经历,是在网上走转载来激励自己的! -----------------------------------------------------------------------------------------------...

2011-07-18 12:47:45

阅读数:470

评论数:0

我所认为的产品经理——从读PONY的产品笔记想到的

年前非常流行的PONY的产品演讲笔记,当时读了一遍感觉很多东西深有体会。不过,到了年末,没时间去仔细想。今天,仔细的再读了一遍,结合自己的一些体会,写了这篇文章。本文仅代表一家之言,如果觉得不合理,可以和我讨论,勿跟污言秽语,我也没时间去删除,免得影响了其他的朋友。 产品经理是什么? 很长一段...

2011-07-18 12:20:48

阅读数:2120

评论数:0

fork两次如何避免僵尸进程

曾经觉得费解,温故知新一下: /*g++ -o New0001 New0001.cpp */ #include #include #include #include int main(void) {    pid_t pid;     if ((pid = fork())...

2011-07-18 11:38:33

阅读数:380

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭