不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-11-10 17:33  分类:Linux_C  编辑

OpenSSL 加解密库

作者:php-note.com  发布于:2019-11-10 17:22  分类:Linux_C  编辑

Deepin 15.11 编译安装 MySQL-5.6.46 时,报错:

/usr/bin/ld: /usr/local/lib/libssl.a(s23_srvr.o): relocation R_X86_64_PC32 against symbol `ssl23_get_client_hello' can not be used when making a shared object; recompile with -fPIC

作者:php-note.com  发布于:2019-11-10 16:56  分类:Linux_C  编辑

安装参数:

--openssldir=OPENSSLDIR

    安装目录,默认是 /usr/local/ssl 。

--prefix=PREFIX

    设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。

作者:php-note.com  发布于:2019-10-27 23:40  分类:Linux_C  编辑

-l参数和-L参数

-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?-lname,在连接时,装载名字为“libname.a”的函数库

作者:php-note.com  发布于:2019-10-20 11:13  分类:Linux_C  编辑

Makefile拥有复杂的语法结构,甚至让人难以领会,当我们项目非常大的时候,维护Makefile会成为一件非常头疼的事情。于是我们就有了Autotools工具,专门用来生成Makefile,这个工具让我们很大程度的降低了开发的难度。

作者:php-note.com  发布于:2019-10-20 00:29  分类:Linux_C  编辑

Makefile能帮助C语言建立自动化的编译。一旦写好,执行一个make命令就可以编译整个工程。当然编写Makefile文件的时候有很多知识点在里面。这篇文章主要讲解如何编写基础性以及常用的Makefile文件。

作者:php-note.com  发布于:2019-10-16 20:13  分类:Linux_C  编辑

如何查看 glib库 的版本号?

因为 ldd 命令是 glibc 提供的,所以也可通过它来查看 glib版本号: ldd --version 

作者:php-note.com  发布于:2019-10-13 16:19  分类:Linux_C  编辑

MAKE_STD_ZVAL(zv)  宏替换后:

(zv) = (zval *) emalloc(sizeof(zval));
(zv)->refcount__gc = 1;
(zv)->is_ref__gc = 0;
作者:php-note.com  发布于:2019-10-13 15:48  分类:Linux_C  编辑

PHP_FE(array_max,NULL) 宏替换后:

// zend函数入口
const zend_function_entry helloworld_functions[] = {
    // PHP_FE(array_max,NULL)  // 此处和下面写法效果相等
    {
        "array_max", 
        zif_array_max, 
        NULL, 
        (zend_uint)(sizeof(NULL) / sizeof(struct _zend_arg_info) - 1), 
        0
    },
    PHP_FE_END    /* Must be the last line in helloworld_functions[] */
};
作者:php-note.com  发布于:2019-10-13 00:36  分类:Linux_C  编辑

RETURN_LONG(123) 宏替换后:

{
    {
        zval *__return_value = (return_value);
        (*__return_value).value.lval = 123;
        (*__return_value).type = IS_LONG;
    };
    return;
}