随笔分类 - 技巧
乱七八糟的技巧,反正自己平时看到比较好的就收集收集吧
摘要:1。自动连接handler name相同的信号和函数。Thesome_signal_handler_funcfunction is not referenced anywhere in the program explicitely, but if any signals are defined in the interface description that use "some_signal_handler_func" as the handler name, then this function will automatically be connected.2.如果
阅读全文
摘要:1、更详细资料参见http://learn.akae.cn/media/apas03.htmlhttp://www.ibm.com/developerworks/cn/linux/i18n/unicode/linuni/UTF-8 and Unicode FAQ:http://www.linuxforum.net/books/UTF-8-Unicode.html2、部分示例代码#include <stdio.h>#include <locale.h>#include <wchar.h>int main(void){ wchar_t wstr=L"你
阅读全文
摘要:定义FILE *fp; //文件指针、句柄int fd; //文件描述符char pathname[1024]; //文件路径1、pathname --> fp,fdfp = fopen(pathname,"r");fd = open(pathname,O_RDONLY);2、fd --> fp,pathnamefp = fdopen(fd,"r");下面这个函数能够实现由fd转成pathname,int get_pathname_from_fd(int fd, char pathname[], int n){ char buf[1024];
阅读全文
摘要:1、linux c代码实现#include <netdb.h>#include <stdio.h> #include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <netinet/in.h>#include <sys/socket.h>typedef enum {false,true}bool;int main() { bool flag; int sock; char **pptr =
阅读全文
摘要:1、安装库libesmtp-develyum install libesmtp-devel或apt-get install libesmtp-devel如果没法用命令安装,就上http://www.stafford.uklinux.net/libesmtp/自己下载包安装。2、不认证即可发信息#define _XOPEN_SOURCE#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <unistd.h>#include <getopt.h>#include
阅读全文
摘要:一般Web服务器放在公网上以后,有些为了方便远程操作,所以打开了远程桌面连接。这样是很不安全的,黑客在扫描到服务器开启了3389端口以后很多都是利用这个端口发起攻击。为了降低风险而又想使用远程桌面连接,一个比较简单的方法就是修改远程桌面链接的3389端口。远程桌面终端服务默认端口为"3389",为防止他人进行恶意连接,就需要对默认端口进行更改。对此可打开注册表编辑器开始 --> 运行 --> regedit --> 确定依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Serv
阅读全文
摘要:char str[80]; FILE *fp; //chang directory to our command bzero(str,sizeof(str)); /* 判断argv[0]中是否包含'/', * 如果包含,则说明使用的是绝对/相对路径来寻找command所在目录 *如果不包含,则说明command是被安装到/usr/bin等系统定义的目录中,需要查找命令所在目录 */ if(NULL == rindex(argv[0],'/')){ //命令在系统预定义目录中 sprintf(str,"which %s"...
阅读全文
摘要:一、使用shell 的 echo 命令实现。echo -ne <ctrl+v><ESC>[?25l&<60;&<60;&<60; 隐藏光标echo -ne <ctrl+v><ESC>[?25h&<60; 显示光标l,h为字母, <ctrl+v>是按下ctrl键不放,然后按下V, <ESC>就是按一下键盘上的ESC键在终端回显的情况如下:echo -ne&<60; ^[[?25lecho -ne&<60; ^[[?25h其中^[是用<c
阅读全文
摘要:即使目前没有为纳米电子学、空气动力学、分子静力学、细胞生命周期建模等等编写高级应用程序,说不定以下这32条规则,对你向更高级处理器移植程序会有所帮助。 近期以来,似乎大家都在谈及64位计算,如采用AMD Athlon 64处理器的笔记本、采用IBM PowerPC 970芯片的Apple G5、又或Intel Itanium架构是否会被取消,对此,IT界和新闻界似乎都还没有尽兴。新一轮处理器所带来的冲击,不仅表现在改善数据库执行效率、提高图形程序速度上,也为编写解决世界上最复杂科学问题的应用程序,铺平了道路。 不管怎样,想利用64位处理器带来的好处,不只是仅仅拷贝一个程序到一台新计算机上那..
阅读全文
摘要:linux GCC 64位编程技巧64位系统的优势?既然要采用64位系统,首先要知道64位系统的优势所在。对于技术人员来说,完全没有必要去看那些厂家拿出的厚厚的说明书、或者某个研究机构抛出的一堆的数字,64位系统的优势总结起来很简单:内存大、速度快!内存大与32位系统相比,64位系统的地址空间大大增大,达到了18PB,18PB究竟是多大呢?说出来有点吓人:4G内存的40亿倍!这么大的空间,不要说内存了,就是整个磁盘的数据都放进去也是没有任何问题的。需要注意的是:已有的32位系统由于采用了物理地址扩展技术(PAE,http://en.wikipedia.org/wiki/Physical_Add
阅读全文
摘要:我的CentOS版本是6.0,下述方法在i386和x86_64中均适用,因为我32位和64位的CentOS都装了~1.CentOS 安装tigervncserverSystem -> Administration -> Add/Remove Software搜索vnc,将tigervnc-server,libvncserver,tigervnc安装了2.配置vncservers,假设你有两个用户想要远程登录,用户名分别是user1,user2#gedit /etc/sysconf/vncservers在这个文件末添加VNCSERVERS="1:user1 2:user2&
阅读全文
摘要:命令描述•apropos whatis显示和word相关的命令。 参见线程安全•man-t man | ps2pdf - > man.pdf生成一个PDF格式的帮助文件which command显示命令的完整路径名time command计算命令运行的时间•time cat开始计时. Ctrl-d停止。参见sw•niceinfo运行一个低优先级命令(这里是info)•renice 19 -p $$使脚本运行于低优先级。用于非交互任务。目录操作•cd -回到前一目录•cd回到用户目录(cd dir && command)进入目录dir,执行命令command然后回到当前目录
阅读全文
摘要:引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题。本文将介绍如何利用 GNU Auto
阅读全文
摘要:命令sudo update-grub手动修改grubsudo gedit /boot/grub/grub.cfg
阅读全文
摘要:1)安装两个包:sudo apt-get install ntfs-3g ntfs-config2)设置自动挂载System -> Adminstration -> NTFS Configuration Tools
阅读全文
摘要:Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结果发现是需要修改hosts。修改完之后要重启网络。具体过程如下:1、修改hostssudo gedit /etc/hosts2、添加解析记录( . )完整案例:127.0.0.1 localhost.localdomain localhost简洁记录:127.0.0.1 localhost3、保存后重启网络sudo /etc/init.d/networking restart
阅读全文
摘要:我利用此方法成功在UBUNTU 10.04下安装GTK 2.20.1。一、安装 1、安装gcc/g++/gdb/make 等基本编程工具$sudo apt-get install build-essential 2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件$sudo apt-get install gnome-core-devel 3、用于在编译GTK程序时自动找出头文件及库文件位置 $sudo apt-get install pkg-config 4、安装 devhelp GTK文档查看程序$sudo apt-get install devhelp
阅读全文
摘要:linux下经常用命令行,目录有中文输起来非常麻烦,想把他改回英文于是登录的时候选择英文发现没装英文语言环境,为这个重新装麻烦,只能再想办法找了一下发现传话里有个用户文件夹更新,命令是xdg-user-dirs-gtk-update,于是乎应该有办法解决了,让这个小程序认为是洋文系统把文件名改回去,代码:$exportLANG=en_US代码:$xdg-user-dirs-gtk-update在会话里把他关掉或者直接把这个软件删了好了,再切换回中文:(注意勾选下次不要提示,要不然下次系统启用以后又提示你要不要换成中文)代码:$exportLANG=zh_CN
阅读全文
摘要:不知为什么,看英文资料总是记不住,看过就忘,还是记下来的好.所以Linux的中文版无论对谁都是很重要的.通俗地说:automake用于Makefile.am->Makefile.inautoconf用于configure.ac->configureconfigure用于Makfile.in->Makefile注:configure.ac以前也称configuer.in,但和Makefile.in容易混淆.autoscan是个很不错的工具,它自动检查当前目录(或者指定的目录)下的源代码,生成configure.scan指出哪些功能是需要检测的.configure.scan可以作
阅读全文
摘要:[转自]http://tech.sina.com.cn/s/2004-10-19/1115443045.shtml 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序.
阅读全文