Articles of dynamic

使用Nginx将dynamic生成的文件作为静态文件提供

Nginx的服务静态文件是伟大的,所以我想知道是否有可能将dynamic生成的文件作为静态文件? 例如,我们使用PHP Minify将PHP和FPM上的CSS和JS文件结合在Nginx后面,并像其他任何静态文件一样提供服务,可能还有一些版本控制和caching。 所以它的考虑和行为更像静态文件,然后是dynamic的。 我知道这听起来更像是caching,但是这就是Nginx服务器最好的静态文件吗?

如何在nginx中configurationdynamicSSLconfigurationdynamic虚拟主机?

是否有可能configurationNginx的dynamicSSL证书path相同的dynamic虚拟主机。 ssl_certificate和ssl_certificate_key不接受nginx中的variables。 谢谢

如何打印正在运行的进程的链接图?

如何打印一个很好的方式dynamic加载器在Linux中的运行进程的链接图?

有没有相当于Linux的dyld?

Mac OS X为dynamic加载提供了一个有用的库,称为dyld。 在dynamic加载处理的许多有趣的function中,允许用户安装callback函数,这些callback函数将分别由dlopen和dlclose分别在图像加载或卸载时由dyld调用。 这些函数分别是void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide))和void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) 。 我知道不可能有一个精确的Linux端口,因为dyld函数处理mach-o文件,Linux使用ELF文件。 那么,是否有相当于Linux的dyld库? 或者,至less,在任何Linux库中,这两个函数是否相当于_dyld_register_func_for_add_image和_dyld_register_func_for_remove_image ? 或者我必须自己实现我自己的这两个版本,这不是很难,但我必须find一种方法来调用dlopen和dlclose调用callback函数。 编辑 为了更清楚地说明,我需要创build一个具有callback函数的库,只要外部库由dlopendynamic加载,就必须调用该函数。 我的callback函数必须对任何dynamic加载的库执行一些操作。

mysqlclient库的联动问题

我正在使用64位CentOS 5.4上的mysqlclient库连接一个应用程序,并得到一个链接错误(找不到-lmysqlclient)。 该库在/ usr / lib64 / mysql /中: una@localhost$ ll /usr/lib64/mysql/ total 9072 … lrwxrwxrwx 1 root root 26 Jan 3 15:54 libmysqlclient_r.so -> libmysqlclient_r.so.15.0.0 lrwxrwxrwx 1 root root 26 Jan 3 15:54 libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0 -rwxr-xr-x 1 root root 1518456 Sep 4 01:28 libmysqlclient_r.so.15.0.0 lrwxrwxrwx 1 root root 24 Jan 3 15:54 libmysqlclient.so […]

LD_LIBRARY_PATH优先

我只是偶然发现了一些奇怪的行为:在启动我的应用程序之前,我已经将LD_LIBRARY_PATH设置为包含所有必需库的本地lib目录。 启动后,我有一部分(大部分)libs从LD_LIBRARY_PATH加载,但有一些从标准的/ usr / lib加载(例如/usr/lib/libQtNetwork.so.4,/usr/lib/libSM.so。 6)。 所有这些库均包含在LD_LIBRARY_PATH中列出的目录中。 任何人都可以解释为什么我有这样的行为? 我对Linux世界并不是很熟悉,但是这篇文章说我的方法应该可行 PS如果我把/ usr / libs重命名为其他东西,我将使用从我的libs位置使用的所有库运行我的应用程序 预先感谢!

如何链接到二进制库的debugging版本

如果我使用-l选项传递一个lib名称,那么GCC将链接到来自/ usr / lib的最好的lib。 我认为当两者都存在时,dynamic版本是在静态版本上select的。 但也有相同的lib的debugging版本。 debugging版本应该是优化closures和额外的运行时检查编译。 我使用软件包pipe理器(Ubuntu上的Synaptic)检查了一下,我的电脑上确实安装了dbg版本,但并不完全知道这些库在哪里以及如何链接到它们。 任何提示,不胜感激。 谢谢。

如何将c ++程序编译到共享库中,并从ac程序中加载它?

我在centos 6上使用gnu c编译器,c程序dynamic地在代码中加载共享库。

链接和链接.so文件时是否有性能损失?

有些人正在链接共享目标文件,以便在它们的NEEDED列表中没有条目,并且当将这些SO文件链接到二进制文件时,将所有SO文件的传递依赖关系放入创build的二进制文件的NEEDED列表中,而不pipe是否二进制实际上需要这些SO文件。 前一种将所需的SO文件连接到某个SO文件的操作被称为连接( underlinking) ,后者将太多的SO文件连接到某个二进制文件被称为overlinking 。 我正在和我的同事讨论,构build应用程序和SO文件的scheme在构build或运行应用程序或其SO文件时是否产生性能成本。 例如,PLT的dynamic符号分辨率可能会有额外的成本? 请问有人可以对此有所了解吗?

连接共享库g ++时出现奇怪的符号

我有一个带有void initGui()函数的文件。 它做的东西。 我也有一个.so共享库与该文件。 问题是,当我尝试启动dlsym(…, "initGui") , dlerror()告诉我它没有find符号(当然,我用dlopen打开它)。 所以我试图nm我的共享库。 我“理解” _Z7initGuiiii可能是我正在寻找的。 所以我试着去尝试一下…然后它就起作用了。 请有人能告诉我如何在我的共享对象库中有干净的符号? 我用g++ -Wall -Wextra -Werror -c -fPIC编译。