- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 P2P,UDP和TCP穿透NAT
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Fo
2009-11-29 14:56:00 30558 11
原创 ubuntu下安装pthread的manpages(man 手册)
由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数库的手册页,然后安装$sudo apt-get install glibc-doc 安装以后,发现还是有很多函数不全,只有一小部分pthread的函数,使用man -k pthread或apropos pthread可以查找到当前manpages中关于pthread的手册。安装manpag
2009-11-26 21:59:00 14830 6
原创 在Ncurses中显示汉字,支持中文
最近在学习Ncurses编程,因为确实比较喜欢终端下的程序:简洁、漂亮、快速、轻量。但是ncurses库默认并不支持中文显示,怎么办?解决方法如下: 1.安装ncursesw开发库以在ubuntu-9.10下为例:$sudo apt-get install libncursesw5 libncursesw5-dev 2.使用setlocale
2009-11-25 22:59:00 6390
原创 关于sprintf和snprintf格式化字符串输出到字符串缓冲区
都知道,sprintf,snprintf是printf函数族的一员,只是它的输出对象是一个字符串缓冲区,而不是stdout或者文件。所以sprintf,snprintf很适合用来生成自己的格式化参数,易于解析。但是要注意的是关于字符串结束的问题,假设有这样的程序#includeint main(int argc,char *argv[]){ int len;
2009-11-24 10:07:00 7895
原创 C语言中的printf族函数深入详解
使用manpages(man 3 printf)查看到的printf函数如下定义:#includeint printf(const char *format,...);int fprintf(FILE *stream,const char *format,...);int sprintf(char *str,const char *format,...);int snpri
2009-11-21 23:46:00 4249 1
原创 输入理解C语言中的函数声明
看了C陷阱与缺陷,第一个给我震撼的就是理解函数声明了,下面是我的理解。1.理解函数声明 为了模拟开机启动时的情形,我们必须设计出一个C语句,以显示调用位于地址0的子例程。调用语句如下: (*(void (*)())0)();胆颤了吧?首先我们从函数的声明说起:有如下一个函数 void func(){...}那么,要想声明一个函数指针,指向这类函数,怎样声明
2009-11-19 21:37:00 2225
原创 深入理解C语言中的指向函数的指针和返回指针的函数!
#include#include/* * 返回指针的函数和指向函数的指针 *//* * 定义一个函数,返回一个void指针,在C语言中,void指针可以 * 指向任何类型 */void *func(){ /* * 一种很容易犯的错误,将局部变量的地址返回 */ int m; printf("defi
2009-11-18 23:06:00 3719
原创 深入理解C语言中的指向函数的指针!
#include#include/* * 函数和指向函数的指针 */void fvoid(){ /* * 定义一个函数 */ printf("define as void fvoid()/n");}/* * 定义一个函数指针,指向函数类型为参数为空,返回值为void。 */void (*pvoid)(
2009-11-18 23:04:00 976
原创 CSDN的博客搜索好弱!
枉我这么信任CSDN,直接把日记写在了blog上,然后今天上来找的时候,才发现根本搜索不到自己想要的,而且我那个blog已经发表好几天了,有图有真相: 图一.输入关键字后点击搜索
2009-11-17 20:07:00 801
原创 莫名其妙的问题:ubuntu主题没有了!
今天学习GTK+,所以下载了源码包,然后安装了必要的依赖,装好后,因为默认安装是安装在/usr/local/include/目录下了,为了编程的方便,所以就建立了符号链接到/usr/include/目录下。 一晃就是一天了,现在打开某些程序,发现怎么显示不对,跟我的gentoo安装了gnome时的默认界面一样,很朴素的样子,怎么回事?一看Firefox还好,还没
2009-11-16 17:34:00 1775 1
原创 火狐插件: Vimperator操作指南(2)
10.浏览控制 禁止除了键以外的其他Vimperator按键,然你回到火狐模式 o/:o/:open url 打开url,可以打开多个,打开本地文件,url还可以是关键词,这会启用默认搜索引擎去检索 :dialog searchengines 可以设置你的默认搜索引擎,或 :open google key_word 指定搜索引擎 T
2009-11-16 11:02:00 1818
原创 火狐插件: Vimperator操作指南
1.介绍 Vimperator是一个自由的火狐插件,给你提供Vim一样的按键来操作火狐。让你丢掉鼠标,异常高效,特别是一边浏览,一边写代码的时候。1.1.警告 Vimperator启用以后会自动关闭火狐的菜单栏和工具栏,如果你想要开启请在命令模式下输入:set guioptions+=mT,m(menu),T(Toolbar)。 另外,你可以使用:help来查
2009-11-16 10:26:00 3862
原创 linux c问题集锦
1.为什么我写的Makefile,在编辑了源代码文件后,使用make,make却提示目标文件已经为最新的了! 2.OpenGL,在窗口中画点时,怎样使用glVertexi()函数?因为传递的参数如果是大于1的int型,则不行,而必须传递[-0.1~0.1]之间的float,而且使用函数gVertex2f(). 3.OpenGL,使用菜单时,怎样解决点击菜单后不要捕捉GLUT_U
2009-11-15 22:43:00 881
原创 vim之于程序员--强大的vim结合ctags的使用
1.安装ctags 1)到http://ctags.sf.net下载最新的ctags 2)使用apt-get 安装$sudo apt-get install exuberant-ctags2.使用ctags生成tags,$ctags *.c生成所有C文件的tags,生成的文件就叫tags$ctags -R .递归生成所有目录下的tags。3.在vim中使用c
2009-11-14 19:55:00 3064
原创 使用 gdb查看内存
刚开始在linux下编程的时候,很少使用gdb,因为写的程序都很小,然后看了一些比较好的C语言书后,发现了一些有趣的东西,比如malloc ,calloc,free等,然后就想调试程序,看看内存中到底是怎么一回事,所以就在vc6上面调,但是,不能以为这个原因就去用windows吧,所以还是学学gdb怎么查看内存单元,^_^。x /nfu addressn 要查看几个内存单元
2009-11-14 18:10:00 3257
原创 从零开始配置mutt-fetchmail-procmail-msmtp
注意:使用qq邮箱做的测试,请确保开启了qq邮箱的pop/smtp/imap服务,具体在邮箱的设置页面中。1.安装软件msmtp$sudo apt-get install msmtpmsmtp是一个轻量级的发送邮件程序,可以和mutt结合使用,因为sendmail过于庞大,所以采用轻量级的msmtp,建立配置文件$vi $HOME/.msmtprc内容如下:accoun
2009-11-14 15:25:00 8968 3
原创 ubuntu9.10中配置grub1.97(Grub2)
在ubuntu9.10(karmic koala)中配置grub1.97,grub1.97是ubuntu9.10发行是默认的,如果需要使用以前老的grub0.97,可以自己手动安装,运行$sudo apt-get install grub即可,然后运行$sudo update-grub就会检测系统上的系统,生成/boot/grub/menu.lst文件。但是可能不能检
2009-11-14 11:58:00 3265 4
原创 加密与认证
1.DES(Data Encryption Standard,数据加密标准)于1977年发表,这一加密方法在密钥的基础上进行字符替换,又对字符顺序进行重新排列。2.AES(Advanced Encryption Standart,高级加密标准),2000年,Rijndael算法被算作AES。和DES一样,也是一个共享密钥的算法,即一种对称加密算法。3.公钥加密(public-key
2009-11-13 20:10:00 1561
原创 在ubuntu9.10(karmic koala)中重新启用Ctrl-Alt-Backspace来重启X系统
在Gnome中,默认使用Ctrl-Alt-Backspace组合键来重启X系统,但是在ubuntu中,从8.10就开始禁止这个组合键了,其实可以在xorg.conf文件中添加一个section,设置dontzap为flase就可以了,但是这里有更安全,简单的方法,避免自己去修改xorg.conf文件《系统》 《首选项》 《键盘》 《布局》
2009-11-12 12:40:00 1346
原创 Linux下实现RPC编程
Linux 下面使用RPC需要使用到命令rpcgen.在Linux下开发RPC程序流程如下:1.写一个rpc程序 如test.x2.使用rpcgen生成必须的文件,通常是客户端和服务器端以及头文件 $rpcgen test.x3.使用rpcgen生成服务器端和客户端的C语言代码 $rpcgen -Ss -o test_server.c test.x
2009-11-11 17:52:00 5090 2
原创 Ubuntu9.10中安装配置mysql5
MYSQL5今天在ubuntu上安装了mysql5.1.12-beta版本,为了学习一下mysql,毕竟我还是开源的支持者。1.安装 安装过程仔细看源码包中的INSTALL-BINARY就行了,注意使用root用户,特别是在运行scripts/mysql_install_db命令时。2.设置用户权限 安装成功后,会出现提示,叫你为数据库的root用户设置密码,
2009-11-10 09:20:00 1146 1
原创 malloc系列函数
malloc系列函数:头文件 void*calloc(size_t num,size_t size); 功能:num是请求分配的单元个数,size是每个单元的大小,如果成功则返回一个内存指针,指向一块内存,并且和malloc不同的是:这块内存已经被清零了!失败返回NULL。 例子:int *p=(int *)calloc(4,sizeof(int)); 请求
2009-11-09 09:50:00 2355
原创 C语言中的malloc和free造成内存泄露?
首先,说一下我对内存泄露的理解,内存泄露是指:程序中一块不再使用的内存没有被释放,造成内存保持占用状态,使操作系统不能将内存分配给其它的程序(进程)。在C语言,用的最多的管理内存的函数莫过于malloc和free了,下面我用VC6.0做了一个小测试,源码如下: #include#includeint main(){ int *pint=(int *)malloc(siz
2009-11-08 22:32:00 9023 1
原创 Linux下RPC的hello world
Linux 下面使用RPC需要使用到命令rpcgen.在Linux下开发RPC程序流程如下:1.写一个rpc程序, 如test.x2.使用rpcgen生成必须的文件,通常是客户端和服务器端以及头文件 $rpcgen test.x3.使用rpcgen生成服务器端和客户端的C语言代码 $rpcgen -Ss -o test_server.
2009-11-08 00:35:00 4856
原创 Ubuntu-9.10新体验
昨天晚上终于把ubuntu-karmic koala-desktop下载下来了,其实是使用zsync更新的beta镜像文件,不过最后还是更新了300+M,我的国际流量啊!一个月才开始,就只剩下300M不到了 昨天晚上装上以后,发现默认就已经启动了“扩展”显示效果,由于只是重新安装了系统,所以以前的配置都还在,很高兴!变化就不多说了,什么更新的内核,更新的gnome,重
2009-11-03 09:44:00 830
sed and awk
2009-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人