摘要:
1.关于dll 问题:如果有多个进程加载同一个dll,其中一个进程修改了dll的导出变量,是否影响其他进程中的变量值? 不会, 这算是一种写实拷贝技术,修改的时候修改的不是原来 的内存,是新的内存。 一个进程启动时,系统会为每个进程都预留了4G内存,不同进程的高2g内存都指向了物理内存条的系统领空( 阅读全文
摘要:
1.隐示加载与显示加载 使用动态DLL有两种方法,一种是隐式链接,一种是显式链接,如果用loadlibrary就是显示链接,用lib就属于隐式链接。两种方法对于你的程序调用动态库时没有任何区别,只是步骤是不一样的。显式调用麻烦了点,但可以没有相应的lib库;隐式调用,使用起来比较简单,有函数的声明就 阅读全文
摘要:
1.静态库: 我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为"库"文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。 Linux下的静态库为lib*.a格式的二进制文件(目标文件),对应于Windows下的.lib格式的文件。 问题: 只给出头文件 阅读全文
摘要:
一、什么是事件选择模型 事件选择(WSAEventSelect)模型是另一个有用的异步 I/O 模型。和 WSAAsyncSelect 模型类似的是,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知,最主要的差别在于网络事件会投递至一个事件对象句柄,而非投递到一个窗口例程。 每一 阅读全文
摘要:
一、什么是异步选择模型 异步选择(WSAAsyncSelect)模型是一个异步 I/O 模型。利用这个模型,应用程序可在一个套接字上,接收以 Windows 消息机制为基础的网络事件通知,开发者将socket注册到消息机制,当socket有事件(新的连接,新的数据,连接断开,可以写入)来时候。具体的 阅读全文