linux编译

交叉编译详解

匿名 (未验证) 提交于 2019-12-02 22:56:40
对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么作用? 在解释什么是交叉编译之前,先要明白什么是本地编译。 本地编译 本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译: 比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。 交叉编译 交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序: 比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。 之所以要有交叉编译,主要原因是: 交叉编译的困难点在于两个方面: 不同的体系架构拥有不同的机器特性 交叉编译时的主机环境与目标环境不同 Configuration issues: HOSTCC vs TARGETCC: Toolchain Leaks: Libraries: Testing: 详细的对比可以参看这篇文章,已经写的很详细了,在这就不细说了: Introduction to cross-compiling for Linux

编译Python时报错:configure: error: no acceptable C compiler found in $PATH

匿名 (未验证) 提交于 2019-12-02 22:51:30
报错信息如下: checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for --enable-universalsdk... no checking for --with-universal-archs... 32-bit checking MACHDEP... linux checking for --without-gcc... no checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/usr/local/src/pythonSoft/Python-3.3.4': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details 原因是缺少gcc编译环境 安装即可: yum install -y gcc 文章来源: 编译Python时报错:configure: error: no acceptable C compiler found in $PATH

对python源码进行编译,加密python脚本

匿名 (未验证) 提交于 2019-12-02 22:11:45
对python源码进行编译 1.生成.pyc文件 import py_compile py_compile.compile('hello.py') 2.优化源码文件 python -O -m py_compile 1.py 生成.pyo文件 例子: 1 [root@lvs-master tool]# python3 2 Python 3.5.6 (default, May 3 2019, 01:52:28) 3 [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux 4 Type "help", "copyright", "credits" or "license" for more information. 5 >>> import py_compile 6 >>> py_compile.compile('test_conn_linux.py') 7 '__pycache__/test_conn_linux.cpython-35.pyc' 8 >>> 9 >>> exit 10 Use exit() or Ctrl-D (i.e. EOF) to exit 11 12 #执行部分 13 [root@lvs-master __pycache__]# python3 test_conn_linux.cpython-35.pyc 14 序号:0

安装python性能检测工具line_profiler

匿名 (未验证) 提交于 2019-12-02 22:11:45
line_profiler是一款监测python的CPU密集型性能问题的强大工具,可以对函数进行逐行分析,在linux上安装时一切正常,然而今天在win10 64位系统安装失败了 pip3 install line_profiler 报错: error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 解决办法: wheel是一个已经编译好的包,在安装时不需要编译过程,安装whl文件时要比发布的源文件安装要快,目前大部分python包都有wheel包,推荐使用wheel方式安装 从 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 网站找到line_profiler,找到对应的python版本,实测python3.6.4下win_32版本安装不成功,使用win_amd64能成功安装

python介绍

匿名 (未验证) 提交于 2019-12-02 22:11:45
python的出生与应用 (龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。 Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 2、python是什么编程语言 编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。 2.1 编译型与解释型。 编译器 而 解释器 这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式) 编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。 解释型 优点:有良好的平台兼容性,在任何环境中都可以运行

编译安装nginx

匿名 (未验证) 提交于 2019-12-02 22:10:10
啥是nginx ☆☆☆☆ 官方网址 ☆☆☆☆ Nginx的相关概念: ――――――――――――――――――――――――――――――――――――――――――――――――――――― 负载均衡: ――――――――――――――――――――――――――――――――――――――――――――――――――――― 负载均衡,英文名称为Load Balance,是指建立在现有网络结构之上,并提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。 安装nginx 依赖介绍: gcc gcc-c++ gcc为GNU Compiler Collection的缩写,可以编译C和C++源代码等,它是GNU开发的C和C++以及其他很多种语言 的编译器(最早的时候只能编译C,后来很快进化成一个编译多种语言的集合,如Fortran、Pascal、Objective-C、Java、Ada、 Go等。) gcc 在编译C++源代码的阶段,只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库链接(编译过程分为编译、链接两个阶段,注意不要和可执行文件这个概念搞混,相对可执行文件来说有三个重要的概念:编译(compile)、链接(link)

编译部署mysql5.7.13

匿名 (未验证) 提交于 2019-12-02 21:59:42
部署环境centos7.2+mysql5.7.13 1、依赖包 注: 相关依赖包的作用 cmake:由于从 MySQL5.5 版本开始弃用了常规的 configure 编译方法,所以需要 CMake 编译 器,用于设置 mysql 的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。 Boost #从 MySQL 5.7.5 开始 Boost 库是必需的, mysql 源码中用到了 C++的 Boost 库,要求 必须安装 boost1.59.0 或以上版本 GCC 是 Linux 下的 C 语言编译工具, mysql 源码编译完全由 C 和 C++编写,要求必须安装 GCC bison:Linux 下 C/C++语法分析器 ncurses:字符终端处理库 1)安装 CMAKE 及必要的软件 ―――――――――――――――――――――――――――――― 安装 cmake 安装 ncurses 安装 bison 安装 bootst tar zxf boost_1_59_0.tar.gz mv boost_1_59_0 /usr/local/boost 2) 创建 mysql 用户和用户组及目录 groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql ---新建 msyql 组和 msyql 用户禁止登录

Linux C++ IDEs

匿名 (未验证) 提交于 2019-12-02 21:59:42
个人推荐CLion, Visual Studio, Netbeans, Eclipse CDT排名部分先后,纯属个人偏好。 还有一点需要说明的是,笔者只用这几个工具写代码,也就是用他们提供的代码提示,补全功能,代码组织管理,搜索功能,编译和调试完全依赖CMake/GDB完成。 网上有一个更全的IDE列表,笔者并没有都尝试过,感兴趣的可以参考下面URL: https://www.oschina.net/news/76368/best-linux-ide-editors-source-code-editors Linux C++ IDEs 原文:https://www.cnblogs.com/pugang/p/9249038.html

linux编译安装apache2.4.33

匿名 (未验证) 提交于 2019-12-02 21:59:42
切换目录 创建目录 更改所有者 下载软件包 apt安装依赖软件 解压软件包 ps:系统为deepin或者ubuntu,默认用户为erge cd ~ sudo mkdir /soft sudo chown erge /soft sudo apt install gcc g++ \ libxml2 libxml2-dev \ libssl-dev curl libcurl4-openssl-dev \ libgd-dev nghttp2 libpcre3 libpcre3-dev wget http://mirror .bit .edu .cn /apache//httpd/httpd- 2.4 .33 .tar .gz wget http://mirror .bit .edu .cn /apache//apr/apr- 1.6 .3 .tar .gz wget http://mirror .bit .edu .cn /apache//apr/apr-util- 1.6 .1 .tar .gz tar zxvf apr- 1.6 .3 .tar .gz cd apr- 1.6 .3 / ./configure --prefix=/soft/apr make make install tar zxvf apr-util- 1.6 .1 .tar .gz cd apr-util- 1.6

LINUX gcc/g++编译命令

匿名 (未验证) 提交于 2019-12-02 21:59:42
1. gcc -E source_file.c -E,只执行到预编译。直接输出预编译结果。 -S,只执行到源代码到汇编代码的转换,输出汇编代码。 3. gcc -c source_file.c -c,只执行到编译,输出目标文件。 4. gcc (-E/S/c/) source_file.c -o output_filename -o, 指定输出文件名,可以配合以上三种标签使用。 -o 参数可以被省略。这种情况下编译器将使用以下默认名称输出: -E:预编译结果将被输出到标准输出端口(通常是显示器) -S:生成名为source_file.s的汇编代码 -c:生成名为source_file.o的目标文件。 无标签情况:生成名为a.out的可执行文件。 -g,生成供调试用的可执行文件,可以在gdb中运行。由于文件中包含了调试信息因此运行效率很低,且文件也大不少。 这里可以用strip命令重新将文件中debug信息删除。这是会发现生成的文件甚至比正常编译的输出更小了,这是因为strip把原先正常编译中的一些额外信息(如函数名之类)也删除了。用法为 strip a.out 6. gcc -s source_file.c -s, 直接生成与运用strip同样效果的可执行文件(删除了所有符号信息)。 7. gcc -O source_file.c -O(大写的字母O),编译器对代码进行自动优化编译