Linux学习-用 make 进行宏编译】的更多相关文章

为什么要用 make 先来想象一个案例,假设我的执行档里面包含了四个原始码文件,分别是 main.c haha.c sin_value.c cos_value.c 这四个文件,这四个文件的目的是: main.c :主要的目的是让用户输入角度数据与呼叫其他三支子程序 haha.c :输出一堆有的没有的讯息而已; sin_value.c :计算使用者输入的角度(360) sin 数值; cos_value.c :计算使用者输入的角度(360) cos 数值. # 1. 先进行目标文件的编译,最终会有…
为了某些缘故需要最新的 4.x.y 的核心版本来实作某些特定的功能时,那该 如何是好?没办法,只好使用最新的核心版本来编译你可以依照上面的程序来一个一个处理, 没有问题~不过,你也可以根据 ELRepo 网站提供的 SRPM 来重新编译打包喔! 当然你可以直接 使用 ELRepo 提供的 CentOS 7.x 专属的核心来直接安装. 底下我们使用 ELRepo 网站提供的 SRPM 文件来实作核心编译.而要这么重新编译的原因是,需要将 VFIO 的 VGA 直接支持的核心功能打开! 因此整个程序…
编译前注意事项 由于我们的核心原本就有提供很多的核心工具给硬件开发商来使用, 而硬件开发商也需要针对核心 所提供的功能来设计他们的驱动程序模块,因此, 我们如果想要自行使用硬件开发商所提供的模块 来进行编译时,就需要使用到核心所提供的原始档当中, 所谓的头文件案 (header include file) 来取 得驱动模块所需要的一些函式库或标头的定义啦! 也因此我们常常会发现到,如果想要自行编译核心模块时,就得要拥有核心原始码嘛! 那核心原始码我们知道他是可能放置在 /usr/src/ 底下,…
(1)当要运行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 须要这个库.因此须要安装ncurses或者ncurses-devel就可以.输入命令:sudo  apt-get  install ncurses或者sudo apt-get  install ncurses-devel. 可是可能还会出现还有一种问题,如图: 出现这样的问题的解决办法是:如今没有可用的软件包 ncurses , 可是它被其它的软件…
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在Linux下网口是一个经常使用的接口,由于Linux具备成熟完备的网络通信协议栈,底层驱动厂家也都提供好了,所以使用起来相对方便的多.本篇对Linux下网口使用做个简单总结,希望对大家有所帮助. 内容主要包括使用buildroot来是实现ssh功能,UDP通信的例子,以及实际中容易犯的一个错误. 原…
#define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) { puts(d(f(a,b))); puts(s(f(a,b))); } 输出结果: f(a,b) ab 分析: ##把两个符号连起来 #a指把a当成符号,就是把#后面的看成字符串 # 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如,…
下载地址:点我 <鸟哥的Linux私房菜:基础学习篇>是具有知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>的最新版,全面而详细地介绍了Linux操作系统.<鸟哥的Linux私房菜:基础学习篇>分为5个部分:一部分着重说明Linux的起源及功能,如何规划和安装Linux主机:二部分介绍Linux的文件系统.文件.目录与磁盘的管理:三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法:四部分介绍了对于系…
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd5360cba1adb7d 目录 Linux学习笔记... 1 请切换web视图查看,表格比较大,方法:视图>>web板式视图... 1 1.      常用命令... 3 1.1文件处理命令... 3 1.2权限管理命令... 8 1.3文件搜索命令... 12 1.4帮助命令... 19 1.5压…
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Java以及Ant安装3. Android SDK安装4. Android工程的基础命令 一.前言 本篇博文记录了Linux下全命令行的Android开发环境的搭建,本文内容基于以下文章: http://zyqhi2010.blog.163.com/blog/static/1715893782012610…
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的ant实例 一.前言 本篇博文记录了Linux下ant安装与使用 本文内容基于以下文章: http://www.linuxidc.com/Linux/2013-08/88955.htm  (Ubuntu中ANT的安装和配置)http://www.blogjava.net/amigoxie/archiv…
引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与Unix Shell 编程指南> C语言基础 1.<C Primer Plus,5th Edition>[美]Stephen Prata著 2.<The  C Programming Language, 2nd Edition>[美]Brian W. Kernighan Davi…
笔记目录:一.系统知识 和 基本概念                    二.常用操作                   三.系统管理(内存.设备.服务等管理)                   四.其他操作 一.系统知识 和 基本概念   1.1. linux 各个分区的作用 参考博主“沉淀”的总结:linux目录结构以及作用 1.2.swap 和 temp 区别 swap 用于普通程序的数据交换,temp 用于系统程序的数据交换 二.常用操作   2.1.软件安装.卸载.执行 详见我的…
[+]查看原图http://www.ituring.com.cn/article/119401 来北京工作已经一个多月,大都市的生活比起读大学要忙碌得多,尤其是出行,基本以小时为基本的计时单位.有时茫然看着窗外车水马龙,会有些迷茫自己选择的是对还是错. 题外话不多说,回归这次的主题,扒一扒我看过的那些Linux相关的书籍. 对于Linux的了解和接触,缘起自大一时候的Linux限选课,老师说这门课可选可不选,但是选修后考试挂了的话需要补考.当时的我还比较爱学习,于是兴冲冲地选修了这门课,用的是清…
linux学习书籍推荐 网上看到的,做个标记.没研究过,仅供参考  linux编程学习   inux 学习书目推荐 Linux基础 1.<Linux与Unix Shell 编程指南> C语言基础 1.<C Primer Plus,5th Edition>[美]Stephen Prata著 2.<The  C Programming Language, 2nd Edition>[美]Brian W. Kernighan David M. Rithie(K & R)…
linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模式和命令行模式,这三种模式的作用分别如下简述: 一般模式:默认模式.打开vim直接进入的是一般模式,在这个模式下,可以进行的操作有:移动光标,复制,粘贴,删除. 编辑模式:编辑文件内容,在界面左下方会出现INSERT的字样. 命令行模式:查找.读取.保存.替换字符.显示行号.离开vim等等操作. 一…
实验环境:ubuntu 12.04 LTS 内核版本:linux-3.9.4 因为一直以来都对Linux的工作机理比较感兴趣,所以正好这两天有机会好好的研究一下,那闲话不多说,直接进入正题. 俗话说的好,公欲善其事,必先利其器.那么对于一个系统内核级的修改与研究必然不能从自己机器中正在运行的内核下手,这样一旦发生错误,将导致内核崩溃,无法启动,这个后果稍微有些严重.所以重新编译一个用于实验的内核是非常必要的.这里详见Linux学习之内核编译与添加系统调用. 对于本次的任务,一个模拟器也是非常必要…
一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行优化 gcc -o hello hello.c 生成hello这个可执行的二进制文件   缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功.一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余.   二…
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... 初次学习linux系统,首先也得会一些linux的基本命令. linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似.linux命令在系统中有两种类…
Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.html 一.前言 作为一个想从事j2ee后台开发的程序猿,linux系统怎能不学呢?所以,这几天自己准备学习一下linux操作系统.废话不多说,直奔主题. 要学linux开发,首先得要安装linux系统吧,这里我在选择之前也挺迷茫,因为linux系统有太多可选择了,例如最著名的的RedHat.咱中国人…
Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 安装更慢,更容易报错 安装更自由 安装完后效率更高 RPM包: 经过编译,能看到源代码 安装更快,报错容易解决 2.RPM包安装位置与源码包安装位置 RPM包安装位置: 源码包安装位置: 安装在指定位置当中,一般是/usr/local/软件名/  3.安装位置不同带来的影响 RPM包安装的服务可以…
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第3篇]远程连接及软件安装 远程连接 xshell , xftp软件官网 : netsarang官网 Xftp : 远程文件传输软件 远程协议使用SFTP , 端口 : 22 Xshell : 远程终端模拟软件 远程连接协议用SSH , 端口号 :22 虚拟机中linux查看主机IP命令 :  ifconfig 注 : 真实服务器可以从服务器提供商处获取ip(如:腾讯云或阿里…
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也想把这些分享给大家,认真读完,明确自己的方向 很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将会结合自己的几年的个人开发经验,及对 Linux,更是…
学习目的 很简单的考虑,最近在各大招聘网站上找工作,发现多数c/c++开发职位都需要Linux开发经验,让我很苦恼,因为Linux我到目前为止知之甚少,知道Linux的概念,也在大学期间了解过一段时间,但是没坚持住,放弃了.到现在我能在Linux下用的只有GCC.C++.SDL.FFmpeg,为了一个更好的职业道路,近期准备投入点精力: 了解下Linux,并能够用Linux完成c++软件开发工作. 学习开源的思想和商业运作模式. 说了这么多,先记录下我近期了解到的内容.(2015-09-19)…
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存储器.输入设备.输出设备五大部分组成的,每一部分分别按要求执行特定的基本功能. 1.运算器(算数逻辑单元Arithmetical and Logical Unit)的主要功能是对数据进行各种运算.这些运算除了常规的加.减.乘.除等基本的的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”…
转载的,感觉写的挺好的,我自己知识复制了下,忘记了转载地址,抱歉! Linux学习路线指南 很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化,谈谈Linux的学习方法与学习中应该注意的一些事. 就如同刚才说的,很多同学以前可能连Linux是什么都不知道,对UNIX更是一…
Linux学习之socket编程(二) 1.C/S模型——UDP UDP处理模型 由于UDP不需要维护连接,程序逻辑简单了很多,但是UDP协议是不可靠的,实际上有很多保证通讯可靠性的机制需要在应用层实现.多保证通讯可靠性的机制需要在应用层实现.编译运行server,在两个终端里各开一个client与server交互,看看server是否具有并发服务的能力.用Ctrl+C关闭server,然后再运行server,看此时client还能否和server联系上.和前面TCP程序的运行结果相比较,体会无…
0x00 宏的基本知识 // object-like #define 宏名 替换列表 换行符 //function-like #define 宏名 ([标识符列表]) 替换列表 换行符 替换列表和标识符列表都是将字符串 token 化以后的列表.区别在于标识符列表使用,作为不同参数之间的分割符.每一个参数都是一个 token 化的列表.在宏中空白符只起到分割 token 的作用,空白符的多少对于预处理器是没有意义的. 宏的一些奇技淫巧: https://gaomf.cn/2017/10/06/C…
一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行优化 gcc -o hello hello.c 生成hello这个可执行的二进制文件   缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功.一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余. 二.m…
嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编程 02-linux进程间通信 03-linux多线程 04-linux网络编程基础 第三阶段: 01-ARM开发板基础知识 02-ARM汇编语言 03-ARM硬件开发基础 04-ARM Bootloader开发 05-ARM硬件接口开发 第四阶段: 01-移植搭建 02-uboot.UART.DD…
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 其实感觉活学活用 非常有用处 阅读目录 0x00 软件包管理器 0x01 程序包管理器的组成 0x02  获取可靠安全程序包的途径 0x03 rpm包命名格式 0x04 CentOS系统上rpm命令管理程序包 参考 0x00 软件包管理器 所有的软件都是由文件格式的程序代码(即源代码),经过编译成…