- 博客(11)
- 资源 (4)
- 收藏
- 关注
转载 linux 多进程编程
<br />1. Linux下进程的结构:<br /> Linux下一个进程在内存里有三部分的数据:数据段,堆栈段,代码段.<br /> 代码段存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们可以使用同一个代码段.<br /> 堆栈段存放子程序(注意是子程序)的返回地址,子程序的参数以及程序的局部变量.<br /> 数据段存放全局变量,常熟以及动态数据分配的数据空间(如用malloc之类的函数取得的空间.)<br /> 上面说了,数个进程运行相同的一个程序
2010-10-20 18:20:00
554
转载 linux 多线程编程指南(七)
<br /><br />5.4库的多线程安全等级 所有可能被多线程程序的线程调用的函数都应当是MT-Safe的。 这意味着过程可以同时正确地执行两个操作。所以,每一个被多线程程序 使用的接口都应是MT-Safe。 并不是所有的库都是MT-Safe的。通常被使用的MT-Safe的库详列于表5-2中。 其他的库也将最终被改写成MT-Safe的。 表5-2 一些MT-Safe库 ------------------------------------ 库
2010-10-20 18:01:00
635
转载 linux 多线程编程指南(六)
<br /><br /> 4.6.7信号控制器和异步安全 有一个类似与线程安全的概念:异步安全。异步安全操作被保证不会和被中断 的操作相混。 如果信号控制器与正被中断的操作冲突,就会有异步安全的问题。例如,假设 有一个程序正在printf调用的当中,一个信号发生,它的控制器也要调用printf(): 两个printf()的输出会交织在一起。为了避免这种结果,如果是printf被中断,控 制器就不应当调用printf。 这个问题使用同步原语无法解决,因为试图的同步操作会
2010-10-20 17:57:00
570
转载 linux 多线程编程指南(四)
<br />2.1.11创建线程--高级特性 2.1.11.1 thr_create(3T) #include int thr_create(void *stack_base,size_t stack_size, void *(*start_routine)(void *),void * arg, long flags,thread_t *newthread); size_t thr
2010-10-20 17:53:00
471
转载 linux 多线程编程指南(三)
<br /><br /> 2.1.9简单的例程 在例子2-1里,一个运行在顶部的线程,创建一个辅助线程来执行fetch过程, 这个辅助过程涉及到复杂的数据库查询,需要较长的时间。主线程在等待结果的 时候还有其他事情可做。所以它通过执行thr_join()来等待辅助过程结束。 操作结果被当作堆栈参数传送,因为主线程等待spun-off线程结束。在一般 意义上,用malloc()存储数据比通过线程的堆栈来存储要好一些。???? Code Example 2-1 A Simple
2010-10-20 17:50:00
429
原创 linux 多线程编程指南(二)
<br /><br /> 2 用多线程编程 2.1线程(函数)库(The Threads Library) 用户级多线程是通过线程库,libthread来实现的(参考手册第3页: library routines)。线程库支持信号,为可运行的程序排队,并负责同 时操纵多任务。 这一章讨论libthread中的一些通用过程,首先接触基本操作,然后循 序渐进地进入更复杂的内容 创建线程-基本特性 Thr_create(3T) 获得线程号 T
2010-10-20 17:49:00
558
转载 VC++动态链接库编程之DLL木马
<br /><br />VC++动态链接库编程之DLL木马<br />来源: 天极网<br />DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。DLL一旦染上了魔性,就不再是正常的DLL程序,而是DLL木马,一种恶贯满盈的病毒,令特洛伊一夜之间国破家亡。<br />DLL木马的原理<br />DLL木马的实现原理是编程者在DLL中包含木马程序
2010-10-20 17:42:00
316
转载 Win32环境下动态链接库(DLL)编程原理
<br />比较大应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的EXE程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测
2010-10-20 17:23:00
339
原创 dll和lib以及exe的区别
<br /><br />动态链接库(Dynamic Link Library,缩写为DLL)<br />是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似.<br />区别<br />DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 <br />动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可
2010-10-20 17:20:00
847
wxwidgets tutorial
2009-10-25
C In a Nutshell
2010-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅