易截截图软件、单文件、免安装、纯绿色、仅160KB

为 Linux 应用程序编写 DLL

为 Linux 应用程序编写 DLL 在仅仅只会编写插件的时候为什么要编写整个应用程序?
文档选项
打印本页
将此页作为电子邮件发送 级别: 初级 Allen Wilson (wilsona@us.ibm.com), 电子商务设计师, IBM 2001 年 10 月 01 日 插件和 DLL 通常是用来无须编写整个新应用程序而添加功能的极好方法。在 Linux 中,插件和 DLL 是以动态库形式实现的。电子商务顾问兼设计师 Allen Wilson 介绍了动态库,并且向您演示了如何在某一个应用程序正在运行之后使用动态库来更改该应用程序。 Internet 浏览器用户非常熟悉插件的概念。从 Web 上下载插件,通常这些插件为浏览器的音频、视频以及特殊效果提供增强支持。一般来讲,在不更改原有应用程序的情况下,插件为现有应用程序提供新功能。 DLL 是程序函数,它们在设计和构建应用程序时为该程序所知。设计应用程序的主程序时使用程序框架或底板,这些程序框架或底板在运行时选择性地装入所需的 dll,这些 dll 位于磁盘上同主程序分离的一些文件中。这一打包和动态装入提供了灵活的升级、维护、以及许可策略。 随 Linux 一起交付的还有几千条命令和应用程序,它们至少都需要 libc 库函数。如果 libc 函数与每一个应用程序都打包在一起,那么磁盘上将会出现几千个相同函数的副本。Linux 构建这些应用程序,以使用通常所需的系统库的单个系统级副本,而不浪费磁盘空间。Linux 甚至做得更好,每个需要公共系统库函数的进程使用单个的系统级内的副本,一次性将该副本装入到内存并为各进程所共享。 在 Linux 中,插件和 dll 以动态库形式实现。本文的余下部分是在应用程序运行之后使用动态库更改该应用程序的示例。 Linux 动态链接 Linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a ) 静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so ) 动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在应用程序就可以运行了。 作为示例,下面有一个演示 Linux 中对动态链接库的缺省使用的小程序: main()
{
printf("Hello world
");
}
当使用 gcc 编译 hello.c 时,就创建了一个名为 a.out 的可执行文件。通过使用 Linux 命令 ld


相关文档:

linux fg bg ctrl + z jobs & 等命令

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
   这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
     可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
 &n ......

Linux上对内存泄露的测试

http://www.ibm.com/developerworks/cn/linux/l-cn-memleak/ 介绍了基本的测试类型和原理
http://blog.csdn.net/rufeng18/archive/2008/11/17/3322099.aspx
http://www.ibm.com/developerworks/cn/linux/l-pow-debug/
http://xueyueming.blog.163.com/blog/static/60411785200981045547110/
http://zhangyafeikimi.java ......

linux下ffmpeg 手机视频转换总结

ffmpeg版本:0.5.1 flv -> mp4  ->3gp
#截图:
./ffmpeg -i 视频文件 -y -ss 截图时间 -vframes 1 -f image2 -s 128x96 目标文件名;
#生成预览版:
./ffmpeg -i out.3gp -ss 00:00:00 -t 00:00:10 -s qcif -acodec copy -vcodec copy -y preview.3gp
#转换16:9 flv视频到 4:3的mp4视频
ffmpeg -i src. ......

linux C正则表达式——POSIX正则测试

这是C的原程序
#include <stdio.h>
#include <regex.h>
int main(int argc, char** argv)
{
regex_t reg;
regmatch_t pm[10];
char *pattern;
char buf[50];
const size_t nmatch = 10;

pattern = argv[1];
int result = regcomp(®, pattern, REG_EXTENDED);
while( fgets ......

Linux 测试sendmail邮件发送

又碰到邮件问题,在magento前台注册新用户,下订单都没有收到邮件。但是提示都是说正常。
直接在ssh中使用下列命令测试,连接超时:
echo "Subject: test" | /usr/lib/sendmail -v xinhaozheng@gmail.com
提示:
WARNING: local host name (server) is not qualified; see cf/README: WHO AM I?
xinhaozheng ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号