linux编译

CentOS编译安装Apache服务

情到浓时终转凉″ 提交于 2019-12-02 04:20:56
linux系统 : CentOS 6.5 mini版,如果是VMware虚拟机,网卡要求“桥接” 编译安装开发环境 编译安装前首先yum 安装“开发环境”“兼容库”“中文支持”即执行如下命令 #yum groupinstall "Development tools" "Compatibility libraries" "Chinese Support [zh]" -y 安装man, vim, wget 工具 #yum install man vim wget -y 编译安装httpd 因为这次要编译安装httpd2.4.25,此版本需要更高版本的apr和apr-util。 因此要首先编译安装apr和apr-util。 wget http://mirrors.hust.edu.cn/apache/apr/apr-1.5.2.tar.bz2 wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2 编译安装apr tar xf apr-1.5.2.tar.bz2 cd apr-1.5.2 ./configure --prefix=/usr/local/apr echo $? ###如果执行结果是0,则继续执行make && make install 编译安装apr-util tar xf apr-util-1.5

关于python代码是编译执行还是解释执行

二次信任 提交于 2019-12-02 02:39:53
什么是 编译型语言 ,什么是 解释型语言? 编译执行: 源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时无需重新编译。 比如:C、C++这类语言属于编译型语言。 缺点:它不具备可移植性 优点:但是执行速度快 解释型语言: 在代码运行期间逐行翻译成目标机器码,下次执行时,还是需要逐行解释,我们可以简单认为 Java、Python 都是 解释型语言 。 缺点:效率没有编译型高 优点:移植性强 以上是 对编译型语言 和 解释型语言 的一个简单粗暴的区分,但是 Python(这里主要是指 CPython )并不是严格的解释型语言; 因为 Python 代码在运行前,会先编译(翻译)成中间代码,每个 .py 文件将被换转成 .pyc 文件,.pyc 就是一种字节码文件,它是与平台无关的中间代码,不管你放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。 总结:pyhon→cpython cpython是可以直接运行的无关平台 我们安装Python 时候,会有一个 Python.exe 文件, 它就是 Python 解释器,你写的每一行 Python 代码都是由它负责执行 , 解释器由一个编译器和一个虚拟机构成 ,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码,所以,解释型语言其实也有编译过程

学习嵌入式开发——简介及搭建开发环境

旧城冷巷雨未停 提交于 2019-12-01 23:56:52
嵌入式技术的发展经历了单片机(SCM)、微控制器(MCU)、系统级芯片(SoC)3个阶段。 SCM——随着大规模集成电路的出现及其发展,计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机。 MCU——MCU的特征是满足各类嵌入式应用,根据对象系统要求扩展各种外围电路与接口电路,突显其对象的智能化控制能力。实际上,MCU、SCM之间的概念在日常工作中并不严格区分,一概以单片机称呼。随着能够运行更复杂软件(比如操作系统)的SoC的出现,“单片机”通常是指不运行操作系统、功能相对单一的嵌入式系统,但这不是绝对的。 SoC——SoC的特征是实现复杂系统功能的VLSI;采用超深亚微米工艺技术;使用一个以上嵌入式CPU/数字信号处理器(DSP);外部可以对芯片进行编程;主要采用第三方IP进行设计。 嵌入式处理器种类繁多,有ARM、MIPS、PPC等多种架构。但由于ARM处理器的文档丰富,各类嵌入式软件大多支持ARM处理器,使用ARM开发板来学习嵌入式开发是一个好选择。 基于ARM的处理器以其高速度、低功耗、价格低等优点得到非常广泛的应用,它可以应用于以下领域:为无线通信、消费电子、成像设备等产品提供可运行复杂操作系统的开放应用平台;在海量存储、汽车电子、工业控制和网络应用等领域提供实时嵌入式应用;安全系统,比如信用卡、SIM卡等。

执行dlsym()函数出现: undefined symbol

大城市里の小女人 提交于 2019-12-01 23:03:56
执行dlsym()函数出现: undefined symbol 执行dlsym()函数出现: undefined symbol 当这个问题出现的时候,可以检查产生so文件的cpp文件,看看是否已经用 extern C{ /* code here */} 把C++的函数包裹起来 文章最后发布于: 2018-09-05 18:50:59有 0 个人打赏如果不想穷一辈子:读懂三不卖七不买是关键,可惜无人知晓股管家 · 顶新 dlsym使用阅读数 208dlsymhttp://baike.baidu.com/view/1093952.htm?fr=aladdin功能:根据动态链接库操作句柄与符号,返回符号对应的地址。包含头文件:#include&am...博文来自:Puten_20120813的博客动态链接时出现undefined symbol错误阅读数 7376有时候编译生成程序时,会出现undefinedsymbol:XXX错误,比如编译python的sqlite模块时,出现这样的错误可以使用nm命令,查看依赖的库是否含有这个XXX,以上面的编译pytho...博文来自:N_sev7的Blogdlopen 和 dlsym 动态调用函数阅读数 290Linux/unix提供了使用dlopen和dlsym方法动态加载库和调用函数,这套方法在macOS和iOS上也支持。dlopen打开一个库

C++中头文件与源文件的作用详解

一世执手 提交于 2019-12-01 21:11:43
一、C++ 编译模式 通常,在一个 C++ 程序中,只包含两类文件―― .cpp 文件和 .h 文件。其中,.cpp 文件被称作 C++ 源文件,里面放的都是 C++ 的源代码;而 .h 文件则被称作 C++ 头文件,里面放的也是 C++ 的源代码。 C++ 语言支持"分别编译"(separatecompilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的 .cpp 文件里。.cpp 文件里的东西都是相对独立的,在编译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文件做一次链接(link)就行了。比如,在文件 a.cpp 中定义了一个全局函数 "void a(){}",而在文件 b.cpp 中需要调用这个函数。即使这样,文件 a.cpp 和文件 b.cpp 并不需要相互知道对方的存在,而是可以分别地对它们进行编译,编译成目标文件之后再链接,整个程序就可以运行了。 这是怎么实现的呢?从写程序的角度来讲,很简单。在文件 b.cpp 中,在调用 "void a()" 函数之前,先声明一下这个函数 "voida();",就可以了。这是因为编译器在编译 b.cpp 的时候会生成一个符号表(symbol table),像 "void a()" 这样的看不到定义的符号,就会被存放在这个表中。再进行链接的时候

mac下安装maven

爱⌒轻易说出口 提交于 2019-12-01 16:24:38
1. 进入官网后下载 Binary:编译之后的二进制文件 Source:表示可以查看源代码的,比Binary大一点 tar.gz archive:Linux、macOS系统使用 zip archive:windows系统使用 2. 解压后放到合适的地方,打开terminel  vim ~/.bash_profile 打开.bash_profile文件,添加:     export M2_HOME=/Users/xxx/Documents/maven/apache-maven-3.5.0     export PATH=$PATH:$M2_HOME/bin  保存并推出,执行以下命令使配置生效:   source ~/.bash_profile 3. 验证  mvn -v 来源: https://www.cnblogs.com/anenyang/p/11692896.html

hostapd编译

人盡茶涼 提交于 2019-12-01 15:37:02
从官网下载源码 http://w1.fi/hostapd/ 说明:本篇文章基于前两篇libnl编译和openssl编译的结果,存放路径 第一步,解压 tar -xvf hostapd-2.5.tar.gz cd hostapd-2.5/hostapd/ 第二步 cp defconfig .config 修改.config 将 #CONFIG_LIBNL32=y 修改为 CONFIG_LIBNL32=y 第三步,修改Makefile 增加下面几行(地址需要根据实际编译的地址改变) #openssl CFLAGS += -I/lhome/srwang/third/openssl/src/openssl-1.0.2h/__install/include/ LIBS += -L/lhome/srwang/third/openssl/src/openssl-1.0.2h/__install/lib #libnl CFLAGS += -I/lhome/srwang/third/libnl/src/libnl-3.2.25/__install/include/libnl3/ CFLAGS += -I/lhome/srwang/third/libnl/src/libnl-3.2.25/__install/include/ LIBS += -L/lhome/srwang/third/libnl

《Linux操作系统-系统移植》第11章 WiFi模块移植-第1节 USB WiFi模块移植(RT3070)(B-wpa_supplicant移植与使用)

删除回忆录丶 提交于 2019-12-01 15:35:45
1.5 wpa_supplicant移植与使用 所需包下载地址: Libnl: http://www.infradead.org/~tgr/libnl/files/ Openssl: http://mirrors.ibiblio.org/openssl/source/ wpa_supplicant: http://w1.fi/releases/ 1.5.1交叉编译libnl-3.2.25.tar.gz libnl是为了方便应用程序使用netlink接口而开发的一个库。这个库为原始netlink消息传递以及不同的netlink family专用接口提供了一个统一的接口。 1.解压 $ tar -xvf libnl-3.2.25.tar.gz 2.配置 $ cd libnl-3.2.25/ $ mkdir install $ ./configure --host=arm-none-linux-gnueabi --prefix=$PWD/install 配置libnl用到bison and flex工具,使用下面的命令安装: $ sudo apt-get install bison $ sudo apt-get install flex 3.编译 $ make $ make install 4.移植文件 将编译出的库文件拷贝到交叉编译器默认库文件搜索目录下 $cd install/lib

linux 编译hadoop 源码

让人想犯罪 __ 提交于 2019-12-01 12:54:52
因为官方提供的hadoop下载包是32位的,所以64要自己手动编译 安装jdk(1.7+),maven(3.0 or later) 的教程就掠过了。hadoop编译要求很好,所以要遵循官方文档里说的版本 安装findbugs 版本:1.3.9 下载地址: https://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/findbugs-1.3.9.tar.gz/download vim /etc/profile export FINDBUGS_HOME=/usr/local/findbugs-1.3.9 export PATH=$PATH:$FINDBUGS_HOME/bin source /etc/profile 安装protobuf 版本:2.5.0 下载地址:(官方已不提供下载) http://pan.baidu.com/s/1hrbQbRY tar zxvf protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./configure make && make install protoc --version 如果成功,则会输出版本号信息,例如:libprotoc 2.5.0 如果有问题,则会输出错误内容。 遇到的问题: protoc: error while loading

pgadmin3 Linux 平台编译

梦想与她 提交于 2019-12-01 11:15:29
Linux 平台依赖于 wxwidgets 下载安装 /tmp/wxGTK-2.8.12 更改文件 ./src/gtk/bdiag.xbm ./src/gtk/cross.xbm ./src/gtk/horiz.xbm ./src/gtk/cdiag.xbm ./src/gtk/fdiag.xbm ./src/gtk/verti.xbm nvim ./src/gtk/fdiag.xbm :%s/0x/(char)0x/g 编译参数 ./configure --with-gtk --enable-gtk2 --enable-unicode ----disable-rpath --prefix=/opt/wx ./configure --with-gtk --enable-gtk2 --enable-unicode 下载pgadmin3 编译参数 --disable-rpath --enable-static --with-wx=/opt/wx --with-pgsql=/opt/pgsql/pg96/ export LD_RUN_PATH='$ORIGIN/../lib' make -j 8 make install 来源: oschina 链接: https://my.oschina.net/u/1016427/blog/773038