linux编译

gopath基础概念

梦想的初衷 提交于 2019-12-27 01:24:20
GOROOT golang安装路径。 GOPATH 官方解释,请google。go工作环境中常常用到的一个很重要的环境变量(这种设计类似java)。具体用途:go命令常常需要用到的,如go run,go install, go get等。允许设置多个路径,和各个系统环境多路径设置一样,windows用“;”,linux(mac)用“:”分隔。 在linux(Mac)下,为了方便,一般配置在~/.bash_profile中。 book:~ wukebing$ vi ~/.bash_profile //编辑 book:~ wukebing$ source ~/.bash_profile //编辑完成后,使立即生效 例如:我的GOPATH设置(MAC下) export GOPATH=$HOME/workspace/go export PATH=$PATH:${GOPATH//://bin:}/bin export GOBIN= 其中,“ export PATH=$PATH:${GOPATH//://bin:}/bin ”为Linux(Mac)下把每个GOPATH下的bin都加入到PATH中。 当存在多个路径时,好像优先采用第一个路径。这个无关紧要了,只有需要的第三方包(库)都能正确下载和使用就ok了。 GOBIN go install编译存放路径。 不允许 设置多个路径。可以为空

python扩展实现方法--python与c混和编程

[亡魂溺海] 提交于 2019-12-26 23:58:19
参考 python扩展实现方法--python与c混和编程 编写Python扩展(Extending Python with C or C++) https://docs.python.org/2.7/extending/embedding.html 环境 主机: ubuntu14.04 64bit 开发板: qemu + aarch64 (参考: http://www.cnblogs.com/pengdonglin137/p/6442583.html ) 工具链: aarch64-linux-gnu-gcc (gcc version 4.9.1 20140529) Python版本: Python-2.7.13 概述 上面参考列表中的文章已经说的很全了,这里仅作一些补充。分为三个: 1、交叉编译扩展模块到aarch64上面 2、编译扩展模块到Qemu模拟的x86_64上面 3、编译扩展模块到PC(x86_64)上面 采用的测试模块是Extend_wrap.c,这个在 python扩展实现方法--python与c混和编程 中有说明,源码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <Python.h> 5 6 #define BUFSIZE 10 7 8 int fac

配置CyanogenMod 10编译环境

社会主义新天地 提交于 2019-12-26 19:18:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 环境: Ubuntu12.04 64bit 硬盘:80G 参考来源网站:http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_%28GSM%29:_Compile_CyanogenMod_9_%28Linux%29 1、安装JDK 1.6.0,参考教程:http://cofface.org/?p=634 2、 安装必备工具合集:(以下工具一个一个安装) 1)root@cofface-desktop:~# sudo apt-get install git-core gnupg flex bison gperf build-essential 2)root@cofface-desktop:~# sudo apt-get install zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs 3)root@cofface-desktop:~# sudo apt-get install x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev 4) root@cofface-desktop:~# sudo apt-get install libgl1-mesa

Python基础1

耗尽温柔 提交于 2019-12-26 16:30:55
本节内容2016-05-30 Python介绍 发展史 Python 2 0r 3? 安装 Hello word程序 变量 用户输入 模块初识 .pyc? 数据类型初识 数据运算 if...else语句 表达式for循环 break and continue 表达式while循环 一、Ptyhon介绍 Python诞生于1989年圣诞节期间,创始人吉多•范罗苏姆(Guido Van Gossum)。 最新TIOBE排行榜(http://www.tiobe.com/tiobe_index?page=index),Python赶超PHP占据第五,Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。 Python可以应用于众多领域:数据分析、组件集成、网络服务、图像处理、数值计算和科室计算等。 目前几乎所有在中型互联网企业都在使用Pthon:Youtube、Dropbox、BT、Quora(中国知乎)、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 目前Python主要应用领域: 云计算 : 云计算最火的语言, 典型应用OpenStack(云计算管理平台) WEB开发 : 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django 科学运算、人工智能 :

linux64位系统编译32位程序的问题

喜夏-厌秋 提交于 2019-12-26 16:07:25
今天将原来一个64位的程序改编译成32位程序,而我的linux系统是64位的,编译时报错了 Error::/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory 解决办法: sudo apt-get install gcc-multilib 附上链接: https://stackoverflow.com/questions/12591629/gcc-cannot-find-bits-predefs-h-on-i686 来源: CSDN 作者: 冷风冷雨 链接: https://blog.csdn.net/goodstudy168/article/details/103715450

gcc编译动态和静态链接库

安稳与你 提交于 2019-12-26 04:38:10
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。 第1步:编辑得到举例的程序--hello.c和test.c; 测试程序test.c调用了公用函数my_lib_function。 hello.c: #include <stdio.h> void my_lib_function() { printf("library routine called/n"); } test.c: int main() { my_lib_function(); return 0; } 第2步:将hello.c编译成.o文件; 无论静态库,还是动态库,都是由.o文件创建的(动态库可以直接通过.c)。因此,我们必须将源程序hello.c通过gcc先编译成.o文件。 在系统提示符下键入以下命令得到hello.o文件。 # gcc -c hello.c 第3步:由.o文件创建静态库; 静态库文件名的命名规范是以lib为前缀,紧接着跟静态库名,扩展名为.a。 例如:我们将创建的静态库名为myhello

MySQL编译安装及启动

心已入冬 提交于 2019-12-26 02:51:11
前言:源码预编译MySQL数据库,使用时 cmake 方式, MySQL数据库官方出的数据库编译命令 ,和普通源码安装软件不同 ( configure )。 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。cmake所做的事其实就 是告诉编译器如何去编译链接源代码。在 Windows平台 通用。 安装过程: 一、安装cmake命令 [root@localhost ~]# yum -y install cmake 二、下载mysql-5.5.20.tar.gz,并解压 [root@localhost quail]# tar zxf mysql-5.5.20.tar.gz #源码包通过rz上传 三、进行预编译 [root@localhost mysql-5.5.20 ]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE

Go程序的一生是怎样的?

天大地大妈咪最大 提交于 2019-12-25 21:28:35
Go 程序是怎样跑起来的 原创: 饶全成 码农桃花源 刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码、编译、汇编、链接、运行、退出。它的每一步具体如何进行,力图弄清 Go 程序的这一生。 在这个过程中,我又复习了一遍《程序员的自我修养》。这是一本讲编译、链接的书,非常详细,值得一看!数年前,我第一次看到这本书的书名,就非常喜欢。因为它模仿了周星驰喜剧之王里出现的一本书 ——《演员的自我修养》。心向往之! 在开始本文之前,先推荐一位头条大佬的博客——《面向信仰编程》,他的 Go 编译系列文章,非常有深度,直接深入编译器源代码,我是看了很多遍了。博客链接可以从参考资料里获取。 理想很大,实现的难度也是非常大。为了避免砸了“深度解密”这个牌子,这次起了个更温和的名字,嘿嘿。 下面是文章的目录: 引入 我们从一个 HelloWorld 的例子开始: package main import "fmt" func main() { fmt. Println ( "hello world" ) } 当我用我那价值 1800 元的 cherry 键盘潇洒地敲完上面的 hello world 代码时,保存在硬盘上的 hello.go 文件就是一个字节序列了,每个字节代表一个字符。 用 vim 打开 hello.go 文件,在命令行模式下,输入命令: :%!xxd 就能在 vim

Sublime text2 + cygwin编译C++

别说谁变了你拦得住时间么 提交于 2019-12-25 15:04:34
1、安装cygwin 2、安装sublime text2 3、将g++和gdb加入系统环境变量(windows系统) 3、安装package control 4、通过package control安装sublimeclang(主要用于C++代码提示、自动补全) 5、配置sublimeclang,打开Preferences->Package Settings->SublimeClang->Settings-User如下: { "show_output_panel": false, "dont_prepend_clang_includes": true, "inhibit_sublime_completions": false, "options": [ "-ID:\\cygwin64\\usr\\include", "-ID:\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\5.4\\include", "-ID:\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\5.4\\include\\c++", "-ID:\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\5.4\\include\\c++\\*" ] } 重启sublime text2,就可以在Windows平台上使用cygwin +

安装GDB和GDBSERVER

回眸只為那壹抹淺笑 提交于 2019-12-25 06:43:57
安装GDB和GDBSERVER 转自 http://www.360doc.com/content/10/0407/17/155970_21971613.shtml 把GDBSERVER装入文件系统 转自 http://www.arm9home.net/read.php?tid-1396.html 在mini2440上使用GDB远程调试 哈哈,一直都没有发过有建设性的帖子,今次发个《在mini2440上使用GDB远程调试》,下面的东西虽算不上绝对原创, 但是经过我试验和总结的,用NFS作根文件系统配合GDB为我们的开发和学习提供了很大的便利,希望大家会喜欢! arm-linux-gdb 移植——PC端 1. 到 http://www.gnu.org/software/gdb 下载gdb-6.6.tar.gz到/tmp目录 2. 解压到/opt目录下 #cd /opt #tar xzvf /tmp/gdb-6.6.tar.gz 3. 建立配置文件、编译 gdb允许把编译配置和编译结果放到任意的目录,因此可以在gdb目录之外建立一个专门存放编译结果的目录。 #cd /opt #mkdir -p arm-gdb/build #cd arm-gdb/build #/opt/gdb-6.6/configure --target=arm-linux --prefix=/opt/arm-gdb