stpeace的专栏

提升认知 顺势而为

玩玩linux下的errno, perror, strerror

少说废话, 多玩程序: #include #include int main() { printf("%d\n", errno); int i = 0; for(i = 0; i < 5; i++) { errno = i; char sz...

2015-04-30 22:30:33

阅读数:5526

评论数:4

linux下的四个简单函数介绍:getpid, getppid, getuid, getgid

直接看程序: #include int main() { printf("pid:%d, ppid:%d, uid:%d, gid:%d\n", getpid(), getppid(), getuid(), getgid()); return 0; }     结果为:...

2015-04-30 21:23:26

阅读数:13491

评论数:4

telnet www.baidu.com 80后怎么退出到Windows的cmd中来呢?

我们经常使用telnet xxx port的形式登录服务器, 比如: C:\Documents and Settings\Administrator>telnet www.baidu.com 80        登录成功后, 我们通常都需要知道怎么退回到Windows的cmd...

2015-04-30 19:44:41

阅读数:12090

评论数:1

玩玩linux下的atexit函数------负责登记的函数

我们先来看一个程序: #include void fun1() { printf("fun1\n"); } void fun2() { printf("fun2\n"); } int main() { atexit(fun1); atexit...

2015-04-29 22:41:03

阅读数:6213

评论数:0

玩玩linux下的kill、raise函数

之前说过kill命令, 我们也知道了, kill命名并没有杀死的意思, 而仅仅是发送信号, 今天, 我们继续学习它的函数形式。 raise这个单词的意思太多, 其中的一个意思是提出、抛出、发出, 实际上raise函数也是发出信号的。 kill和raise有如下等价关系:        kill(g...

2015-04-29 22:04:10

阅读数:8868

评论数:0

Linux下/proc目录简介

由于无法找到最原始的地址, 所以仅仅给出一个间接地址:http://blog.csdn.net/zdwzzu2006/article/details/7747977, 向原创作者表示致意.   (我会加上红色的注释部分)         1. /proc目录 Linux 内核提供了一种通过 ...

2015-04-29 21:27:00

阅读数:5496

评论数:0

微信的两个小功能------“摇一摇搜歌”和“雷达加好友”确实打动了我

腾讯是很多IT从业者羡慕的公司, 今天, 我不说腾讯公司。 张小龙, QQ邮箱和微信的缔造者, 一想起他, 就有种让我肃然起敬的感觉, 好吧, 今天我也不说他。 我仅仅简要聊一下微信的两个下功能“摇一摇搜歌”和“雷达加好友”。         某次, 走在街上, 听到一首非常熟悉的粤语歌, ...

2015-04-29 20:43:19

阅读数:6564

评论数:0

工作效率提升之创建桌面快捷方式------不是不知道, 而是没有意识到

我先说说这么一个场景, 在linux服务器上编译后, 生成的库文件通常保存在很深的路径下, 现在Windows通过samba映射到linux上, 也就上说, linux服务器相当于挂载在Windows上, 可以看到Windows多了一个盘符。         为了把那些库文件取到Windows...

2015-04-29 20:19:46

阅读数:5387

评论数:0

仅从代码可读性来看void fun(const void *p, int len)中const的重要性

const可以增强程序的安全性, 让运行期的错误提前到编译期, 编译器强迫程序猿做出修改, 提高软件质量, 这个我早就介绍过了。 下面, 我从代码可读性的角度来说说const的重要性。  我看到类似于这样的一份代码: #include #include typedef struct _nod...

2015-04-29 00:13:17

阅读数:5724

评论数:0

如何用C程序获取www.baidu.com的ip地址?---实际是请求dns server解析

怎样用C程序获取www.baidu.com的ip地址呢? 实际上, 这个问题我们之前间接讨论过, 今天我们继续来说一下。        当然啦, 你得配dns地址, 也就是要指定dns服务器, 否则, 怎么能解析www.baidu.com呢?  当然了, 你可以直接ping www.baidu...

2015-04-27 23:03:51

阅读数:6812

评论数:0

《高质量程序设计指南---C++/C语言》 林锐、韩永泉

如果没有记错的话, 我应该是2012年买该书的, 夏天。 那个时候, 我想继续补一下自己的C/C++知识和功底, 也为笔试面试做一些准备。 买了该书之后, 有种如获至宝的感觉, 被林锐的《大学十年》深深触动。 边啃该书, 边做笔记, 这样, 新书就渐渐成了旧书了。 也经常对其中的一...

2015-04-27 21:59:50

阅读数:7116

评论数:0

《乡土中国》 费孝通

老伴是学文科的, 爱买各种各样的书, 涉猎广泛, 她看的精不精, 我先不说。 我呢, 耳濡目染之下, 也喜欢看各种人文科学、社会学、历史学、心理学等方面的书, 对于一理工科出身的屌丝, 也是好事, 多了解一下外部世界, 不要天天就知道个coding和debugging.             ...

2015-04-26 21:51:23

阅读数:5695

评论数:2

C++编译器会为类产生哪些默认的成员方法?---聊聊C++的Big Three

C++会为类产生哪些默认的成员方法?看代码: #include using namespace std; class A { }; int main() { A a; // 调用了A(); A b(a); // 调用了A(const A &x); A c = b; // ...

2015-04-26 17:17:05

阅读数:5552

评论数:0

再谈谈只针对C++编译器/链接器的extern "C"------C与C++的相互调用

说明: 我用的编译器是VC++6.0, 支持.c和.cpp文件的编译。       很多朋友对在变量或者函数前面加extern比较熟悉了, 但对于extern "C"则有点措手不及, 有时。为什么需要extern "C"呢? 我认为这都是c++惹的祸, ...

2015-04-26 14:36:51

阅读数:6316

评论数:8

谁再把kill命令说成"杀死"就应该打屁股了

对linux的kill命令不太了解的一些朋友一直会有这样一个错觉: kill命令就是用来杀死一个进程啊!   我要说, 这种理解是比较初级的。  其实, kill这个命令的命名本来就误导了一大批人, 我不知道是谁取了kill这个名字, 我要是知道, 首先要为大家打他的屁股。         kil...

2015-04-25 23:34:48

阅读数:6178

评论数:2

利用thread来简要模拟signal函数功能

对于程序员来说, 代码比文字有趣多了, 所以我们少说废话, 多玩代码。 我们先来看一个简单的多线程程序(test.c):

2015-04-25 22:26:17

阅读数:5671

评论数:0

如何获取linux shell中ls进程的进程号?---有趣的问题!

我们知道, 在linux中, 开启一个shell, 实际上就是开启一个shell进程, 如果在shell中运行一个ls命令, 实际上就是让shell进程拉起了一个ls进程, 且shell进程是父进程, ls进程是子进程。         某次, 我胡思乱想, 既然ls执行的时候对应一个进程, 那...

2015-04-25 21:13:14

阅读数:7134

评论数:3

模拟linux的shell---顺便复习一下fork,execlp和waitpid函数

我们知道, 如果在linux的shell中执行ls, 那么实际上shell对应的进程是父进程, ls对应的进程是子进程。 我们已经模拟过ls了, 下面, 我们来模拟一下shell, 让我们模拟的shell来执行linux的ls, pwd等命令, 模拟linux shell程序如下(也就是说, 下面...

2015-04-25 20:03:55

阅读数:6752

评论数:0

linux下ls命令的简要模拟---顺便学学opendir、readdir函数

我们来简要模拟一下linux中的ls命令, 代码如下: #include <stdio.h> #include <dirent.h> // DIR,struct dirent,opendir, readdir

2015-04-24 23:00:23

阅读数:6033

评论数:0

我常用的gcc编译器选项

本文来小结一下我常用的gcc编译器选项:       1. gcc test.c       这个最直接, 会在当前目录下生成a.out, 然后执行./a.out就可以运行程序了。 我在玩程序的时候, 最喜欢用这个, 简洁清晰。       2. gcc -o test test.c     ...

2015-04-24 22:03:10

阅读数:6046

评论数:0

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