linux编译

libevent CentOS7 编译

旧街凉风 提交于 2020-01-27 01:25:23
安装 libevent 出错: event.c error: ‘CLOCK_MONOTONIC’ undeclared checking build system type… configure: error: cannot guess build type; you must specify one –build=arm-linux 在编译 libevent-1.2 源码时, make 出错: event.c:157:20: error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function) if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) ^ 出错原因是: 在 event.c 文件中 CLOCK_MONOTONIC 没有定义. 解决办法 : 在网上搜了下, 是缺少头文件了, CLOCK_MONOTONIC 定义在 time.h 头文件中. 所以可以直接修改源码: 在 event.c 中引用头文件: #include <time.h> : 来源: CSDN 作者: weixin_46202143 链接: https://blog.csdn.net/weixin_46202143/article/details/104011090

系统移植-官方Uboot编译

醉酒当歌 提交于 2020-01-27 01:06:24
资料来源:正点原子嵌入式Linux 开发板烧写: 工具:mfgtool uboot文件:Mfgtool2-eMMC-ddr512-eMMC 何为Uboot? uboot就是一个bootloader,作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR。因为Linux是运行在DDR里面的。一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD、EMMC、NAND、SPI FLASH等等外置存储区域。Uboot的主要目的就是为系统的启动做准备,将Linux镜像从外置flash拷贝到DDR中。Uboot与linux不是一一对应的,uboot还可以启动其他操作系统,linux也可以用其他bootloader启动。 烧写Uboot 编译指令: #!/bin/bash make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12 编译完成生成u-boot.imx,将imx文件拷贝到PC,利用mfgtool烧写 u

计算机系统大作业

半城伤御伤魂 提交于 2020-01-27 00:59:48
计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算机类 学   号 1180300412 班   级 1803004 学 生 yiguanghui 指 导 教 师 计算机科学与技术学院 2019年12月 摘 要 关键词:计算机系统、编译链接、异常控制流、虚拟内存 摘要:本文较详细地跟踪介绍了hello.c在Linux下的生命周期,从被程序员创建,到在系统上运行,然后输出简单的消息,最后终止。本文通过计算机系统课程中相关的知识来分析hello.c在Linux开发工具下经历预处理、编译、汇编、链接、加载、执行、终止、回收等过程和结果,跟踪程序的链接、进程创建及加载、虚拟内存转换、高速缓存访问、异常控制流、I/O管理等过程。 目 录 第1章 概述… - 4 - 1.1 Hello简介… - 4 - 1.2 环境与工具… - 4 - 1.3 中间结果… - 4 - 1.4 本章小结… - 4 - 第2章 预处理… - 5 - 2.1 预处理的概念与作用… - 5 - 2.2在Ubuntu下预处理的命令… - 5 - 2.3 Hello的预处理结果解析… - 5 - 2.4 本章小结… - 5 - 第3章 编译… - 6 - 3.1 编译的概念与作用… - 6 - 3.2 在Ubuntu下编译的命令… - 6 - 3.3 Hello的编译结果解析… - 6 - 3.4

Linux内核的配置与编译(X86平台)

纵饮孤独 提交于 2020-01-26 19:56:33
说明:只供学习交流 目的: (1):配置、编译X86平台下的Linux-2.6.29内核 (2):在vmware下安装编译好的内核并启动 工具: Gcc编译器, Linux-2.6.29内核 步骤: (一):清除临时文件,中间文件和配置文件等(刚从网上下载下来的文件这步可省略)。 make clean 删除大多数的由编译生成的文件、但会保留内核的配置文件.config。 make mrproper 删除所有的编译生成的文件,还有内核配置文件,再加上各种备份文件。 make distclean mrproper删除的文件,加上编辑备份文件和一些补丁文件。 (二)选择参考配置文件 使用正在运行的内核配置文件作为参考配制文件,该配置文件在/boot目录下,使用命令 cp /boot/config-2.6.18-53.el5 .config。 (三)配置内核 配置内核有如下命令: make config:基于文件模式的交互式配置(也就是一问一答)。 make menuconfig:基于文本模式的菜单式配置(强烈推荐)。 make oldconfig:使用已有的配置文件(.config)但是会询问新增的配置选项。 make xconfig:图形化配置(需要安装图形化系统)。 make menuconfig是最为常用的内核配置方式,使用方法如下: 1、使用方向键在各选项间移动; 2、使用

GCC 参数详解

感情迁移 提交于 2020-01-26 18:45:47
[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x language filename   设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后 缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀 名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了 下一个参数的使用。   可以使用的参数吗有下面的这些   `c', `objective-c', `c-header', `c++', `cpp-output', `assembler', and `a ssembler-with-cpp'.   看到英文,应该可以理解的。   例子用法:   gcc -x c hello.pig    -x none filename   关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型   例子用法:   gcc -x c hello.pig -x none hello2.c   

QEMU & GDB 调试内核

瘦欲@ 提交于 2020-01-26 18:08:43
目录 简介 文件的分布 编译内核 修改**config**配置 编译 运行 gdb 开始调试 参考资料 简介 本篇文章用来 QEMU & GDB 调试内核使用 文件的分布 ROOT = /root/runlinux/Chapter1 ROOTFS = $ROOT /fs ROOTFS_IMG = $ROOT /rootfs.img ROOTFS_IMG_MOUNT = /mnt/rootfs KERNEL_ROOT = $ROOT /linux-4.0 KERNEL_IMG = $KERNEL_ROOT /arch/arm/boot/zImage KERNEL_DTB = $KERNEL_ROOT /arch/arm/boot/dts/vexpress-v2p-ca9.dtb 编译内核 首先修改Makefile 文件中的架构以及编译工具链 # ARCH ?= $(SUBARCH) ARCH ?= arm # CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) CROSS_COMPILE ?= arm-linux-gnueabi- 以及 将 优化等级修改为 -O1 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -O1 $(call cc-disable-warning,maybe

理解 Android Build 系统

爷,独闯天下 提交于 2020-01-26 10:23:50
摘自: https://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/index.html 前言 Android Build 系统是 Android 源码的一部分。关于如何获取 Android 源码,请参照 Android Source 官方网站: http://source.android.com/source/downloading.html 。 Android Build 系统用来编译 Android 系统,Android SDK 以及相关文档。该系统主要由 Make 文件,Shell 脚本以及 Python 脚本组成,其中最主要的是 Make 文件。 众所周知,Android 是一个开源的操作系统。Android 的源码中包含了大量的开源项目以及许多的模块。不同产商的不同设备对于 Android 系统的定制都是不一样的。 如何将这些项目和模块的编译统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型,且还要提供面向各个产商的定制扩展,是非常有难度的。 但 Android Build 系统很好的解决了这些问题,这里面有很多值得我们开发人员学习的地方。 对于 Android 平台开发人员来说,本文可以帮助你熟悉你每天接触到的构建环境。

Python学习笔记一_Python简介

∥☆過路亽.° 提交于 2020-01-26 10:15:43
一、什么是Python Python是一种面向对象、解释型的计算机语言。 它的特点是语法简洁、优雅、简单易学。 那么什么是自动化呢,简单来说就是写代码帮你测试。被测系统的开发语言,和做自动化的时候用的语言没关系。不管被测系统是java还是C开发的,都能用python做自动化。 二、编译型语言与解释型语言 计算机是只认识二进制的0和1,因此写好的程序需要编译器编译成计算机语言才能执行。 1、编译型语言 概念:写好代码之后就把代码编译成二进制文件,运行的时候运行编译好的二进制文件。 特点:运行的速度快,一次编译,到处运行。但编译过程比较慢。 举例:C、C++、C#都是编译型语言。 2、解释型语言 概念:在程序运行的时候,通过一个解释器,运行一行代码编译一行,什么时候运行代码,什么时候编译代码。 特点:运行速度比较慢。 举例:Php、python、ruby、java、go、JavaScript、perl等都是解释型语言。 特例:Java 虽然需要编译成class文件后再执行,但是class文件不是二进制文件,需要JVM读取class文件,所以Java依然是解释型语言。 三、脚本语言 1、什么是脚本语言 功能单一的语言,叫脚本语言。 Shell、bat、JavaScript(前段)、html(页面)、vb都是脚本语言。 2、Python不是脚本语言 Python已经不再是功能单一的脚本语言

认识python

好久不见. 提交于 2020-01-26 10:03:10
python介绍 python的创始⼈为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决⼼开发⼀个新的脚本解释程序,作为ABC语⾔的⼀种继承。最新的TIOBE排⾏榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简单,是⼀个优秀并⼴泛使⽤的语⾔。 Python整体呈上升趋势,反映出Python应⽤越来越⼴泛并且也逐渐得到业内的认可!!! Python可以应⽤于众多领域,如:数据分析、组件集成、⽹络服务、图像处理、数值计算和科学计算等众多领域。⽬前业内⼏乎所有 ⼤中型互联⽹企业都在使⽤Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、⾖瓣、知乎、Google、Yahoo!、 Facebook、NASA、百度、腾讯、汽⻋之家、美团等。 ⽬前Python主要应⽤领域: 云计算: 云计算最⽕的语⾔, 典型应⽤OpenStack WEB开发: 众多优秀的WEB框架,众多⼤型⽹站均为Python开发,Youtube, Dropbox, ⾖瓣。。。, 典型WEB框架有Django 科学运算、⼈⼯智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas 系统运维: 运维⼈员必备语⾔ ⾦融:量化交易,⾦融分析,在⾦融

Linux C语言:Makefile的使用

瘦欲@ 提交于 2020-01-26 04:57:33
Makefile可以更高效的编译文件 1. make -v 检查是否安装Makefile 若没有,则输入指令 apt-get install make 进行安装 2. vi Makefile 创建并编译文件 3. 编译文件书写的一个例子 # this is make file //注释 hello . out : max . o min . o hello . c //生成.out文件所需的文件 gcc max . o min . o hello . c - o hello . out //具体生成指令 max . o : max . c //生成所需文件(没有的) gcc - c max . c min . o : min . c gcc - c min . c 4. 输入命令 make 后生成.out 文件 来源: CSDN 作者: 卡卡fantic 链接: https://blog.csdn.net/qq_42745340/article/details/103794100