摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。
1、引言
动态库(… 更多... “Windows和Linux动态库”
IT夜班车
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。
1、引言
动态库(… 更多... “Windows和Linux动态库”
以下内容摘自网络:
边缘触发是指每当状态变化时发生一个io事件,条件触发是只要满足条件就发
生一个io事件。举个读socket的例子,假定经过长时间的沉默后,现在来了100个字
节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程
序可读。应用程序读了50个字节,然后重新调用api等待io事件。这时条件触发的api会
因为还有50个字节可读从而立即返回用户一个rea… 更多... “边缘触发(Edge Trigger)和条件触发(Level Trigger)”
http://www.kegel.com/c10k.html
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.
转载自:
http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.html
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。
相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用… 更多... “linux效率优于select的epoll模型”
好兴奋啊,今天终于可以用man来查看函数了,这个问题已经困扰了我好久好久了,花了不少功夫,为了解决这个问题,还特意加了linux 开发QQ群,结果也没有解决这个问题。
那么怎么来安装呢?其实非常简单(其实好多问题,就是有那么一心半点的技巧或者信息不知道,知道了,做起来非常简单,也许几分钟就搞定,但是可能之前花了几百个小时)。
先下载man page,这里提供一个我使用的连接:
以下内容摘自:
http://hi.baidu.com/051156/blog/item/9813f7460452c6016a63e554.html
Unix中,每个进程都包含三个ID:real user ID,effective user ID,saved set user ID。
real user ID表示的是实际上进程的执行者是谁。
effective user ID主要用于校验该进程在执行时所获得的文件访问权限,也就… 更多... “real user ID,effective user ID,saved set user ID”
因为之前一直在windows下面用vc+vc 助手开发,所以早就习惯了那里的语法加亮和自动补齐等,所以在vim开发有点不适应,因此想把开发环境稍作改动,让它跟vc接近些。
在我们讨论下面的内容之前请确保你的linux上已经安装好vim和相应的插件。如果没有安装请参看我的另外一遍文章:
安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )
让后你发… 更多... “配置vim文本颜色”
为了让我们的程序能被GDB调试,在编译的时候需要加上编译选项 -g 例如:
gcc -c -g main.c -o main.o
1. 启动GDB:
gdb main
( 该文中所有的命令均在linux的终端上实验通过。)
执行上面的命令要求当前的目录文main程序所在的目录,也可以不在main所在的目录,那样就需要指定main的路径,用绝对路径和相对路径都可以。
2. 列出代码:
l (这是小写的L)
或者是list
调试代码时,… 更多... “GDB调试器的基本用法”
从学校毕业以后,开发东西几乎全部是c++,今天在linux用c编程,发现关于结构体在定义和使用的上的一点区别。至于结构体在c++有类的特性,这里不做赘述,感兴趣的朋友可以自己查看c++ primer的相关章节。
以前在c++中定义和使用结构体如下:
// definition
typedef struct Student_t
{
int num;
char name[128];
}Student, *PStudent;
本人是从windows转到linux的。因此学习linux编程时候,每学习一种思想或者概念都要跟windows对应的东西相比较,这样便于理解和记忆,也不至于搞混了。
下面将陆续列出本人涉及到一些,随着学习的深入和工作经验的加深,下面的内容将逐渐扩充。
1. 线程的ID.
windows: 是全系统唯一的, 可参看msdn上面关于OpenThread的相关说明。
linux: 不是全系统唯一的,是进程唯一的… 更多... “windows vs linux 编程之区别汇编”