首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Autoconf编译配置

    2、使用Autoconf过程 Autoconf工具只是autotools系列工具中的一个,运行之后可对configure.in脚本配置文件进行处理进而生成configure可执行文件。...调用automake,将每个Makefile.am转化成Makefile.in,同时生成满足GNU编码规范的一系列文件(带-a选项自动添加缺少的文件,但有几个仍需要自己添加,在执行automake前需执行...文件】 添加AM_INIT_AUTOMAKE宏 AM_INIT_AUTOMAKE是检查automake尝试Makefile时的工具,传到这个宏里的参数是要编译的应用程序的名称和版本号(这些参数成为config.h...中定义的PACKAGE和VERSION值) AC_CONFIG_HEADERS([config.h]) 这个宏的目的是输出config.h,这是一个C的头文件,里面主要是包含很多宏定义#define...上一行添加AC_CONFIG_FILES宏 添加这个宏的目的是制定Autoconf输出哪些文件,常见的文件就是Makefile文件,config.h在AC_CONFIG_HEADERS宏里面指定了,这里不需要再次指定

    1.6K50

    字符串在JVM的哪里

    关于字符串在JVM的哪里 字符串对象在JVM中可能有两个存放的位置:字符串常量池或堆内存。...提供了一个API, java.lang.String.intern(),这个API可以手动将一个字符串对象的值转移到字符串常量池中 JDK1.7之后虽然字符串常量池也转换到了堆中,但是其实字符串常量池是在堆中独立开辟的空间...我们创建一个普通字符串和一个字符串对象结构类似于下图 代码验证 这里其实我们可以看出一些intern()的特性了. intern源码分析 我们来看intern方法的实现,intern方法的底层是一个native方法,在Hotspot...JVM里字符串常量池它的逻辑在注释里写得很清楚....总结 在Java应用恰当得使用String.intern()方法有助于节省内存空间,但是在使用的时候,也需要注意,因为StringTable的大小是固定的,如果常量池中的字符串过多,会影响程序运行效率。

    6.9K30

    手把手撸PHP扩展 0x00: 编写config.m4文件

    我们可以在PHP的源码里面找到一个工具叫做ext_skel(extension skeleton的缩写,生成扩展骨架的意思)。它可以帮我们生成扩展目录。这里不进行介绍。...PHP_INSTALL_HEADERS([ext/study], [*.h config.h include/*.h thirdparty/*.h]) 这段是把我们的study扩展目录里面的*.h、config.h...这个是在执行make install的时候会进行复制。我们待会会看到。 PHP_REQUIRE_CXX() 因为,我们使用了C++,所以我们需要指明一下。.../make.sh (如果无法执行make.sh脚本,需要设置它为可执行) (make.sh 脚本中的一个命令是phpize,phpize会使用autoconf工具,而autoconf工具会根据config.m4...OK,我们现在来看看我们扩展的头文件是否被复制了: ~/codeDir/cppCode/study # ls /usr/local/include/php/ext/study/ config.h

    1.7K30

    autoconf 命令行工具 OpenHarmony PC 适配指南

    Autoconf 的目标是: 可移植性:生成的 configure 脚本可以在多种 Unix 系统上工作 自动化:自动检测系统特性和功能 自包含:生成的 configure 脚本是自包含的,用户不需要安装.../configure (运行) ↓ config.h, Makefile (生成) 使用场景 Autoconf 在以下场景中特别有用: GNU 软件包开发:符合 GNU 编码标准的软件包 跨平台项目.../configure**:配置项目,生成 config.h 和 Makefile **运行 make**:编译项目 OpenHarmony 适配过程 项目结构 autoconf/ ├── bootstrap....1] Error 127 问题分析 Autoconf 在构建时会尝试生成 man 页面,这需要 help2man 工具。...功能测试 在 OpenHarmony 设备上测试 autoconf: # 检查版本 autoconf --version # 检查帮助 autoconf --help # 测试其他工具 autoheader

    32710

    命令行的迅雷,这样用会更香

    直接安装 有源的情况下,axel 在 CentOS 可以通过 yum 的方式直接安装: yum install -y axel 没有源的情况下,在 CentOS 6/7 中可以先添加 Epel 源再安装...Ubuntu 中安装 Axel,有源的情况可以参考下面的安装方式;无源情况下的安装可以参考源码或者其他的安装方式,这里不细说: apt-get install axel 源码安装 axel 的源码是托管在...--prefix 指定了 autoconf-archive 的安装路径,在安装 axel 的时候需要额外指定 autoconf-archive 的 m4 文件路径: $ autoreconf -i -...I/usr/local/software/autoconf-archive-2019.01.06/share/aclocal 我在 CentOS 6.5 下使用了自定义的 autoconf-archive...config.status: WARNING: 'po/Makefile.in.in' seems to ignore the --datarootdir setting config.status: creating config.h

    2.5K50
    领券