GNU C相关】的更多相关文章

GNU __attribute__ 用于在函数声明时,定义函数参数的一些特殊属性,比如,如果函数的某个参数可能用不到,那么,将该参数增加unused属性即可,如下(一般用两个括号包括属性unused).这样,如果函数里没有用到argc,那么,编译器不会报函数参数未使用的警告. int main(int argc __attribute__((unused)), char **argv) -Wall,表示Warning all,显示所有警告 $ gcc -W test.c test.c:1: wa…
下面是25个最具有影响力,也是最重要的Linux网站,这些网站提供了Linux的分发包,软件,文件,新闻,以及其它所有的关于Linux的东西.关于Linux的分发包历史,可以看看本站的这篇文章<Linux Distribution Timeline> 1. Linux.org 这个站点主要提供Linux相关的新闻.文档.教程,培训,以及其它一切和Linux相关的东西.这是你需要了解Linux开源社区的总入口. 2. Debian.org 如果你想要了解所有关于 Debian 和Linux/GN…
转自:http://www.cnblogs.com/Lindaman/p/4552805.html 下面是25个最具有影响力,也是最重要的Linux网站,这些网站提供了Linux的分发包,软件,文件,新闻,以及其它所有的关于Linux的东西.关于Linux的分发包历史,可以看看本站的这篇文章<Linux Distribution Timeline> 1. Linux.org 这个站点主要提供Linux相关的新闻.文档.教程,培训,以及其它一切和Linux相关的东西.这是你需要了解Linux开源…
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU,内存,磁盘等的管理,同时对系统资源供需的优先次序进行管理.操作系统…
FTP (File Transfer Protocol) 可说是最古老的协议之一了,主要是用来进行档案的传输,尤其是大型档案的传输使用 FTP 更是方便!不过,值得注意的是,使用 FTP 来传输时,其实是具有一定程度的『危险性』, 因为数据在因特网上面是完全没有受到保护的『明码』传输方式!但是单纯的 FTP 服务还是有其必要性的,例如很多学校就有 FTP 服务器的架设需求啊! 1 FTP 的数据链路原理1.1 FTP 功能简介1.2 FTP 的运作流程与使用到的端口1.3 客户端选择被动式联机模…
最近准备系统地学习一下深度学习和TensorFlow,就以人脸识别作为目的. 十年前我做过一些图像处理相关的项目和研究,涉及到图像检索.记得当时使用的是SIFT特征提取,该特征算子能很好地抵抗图像旋转.仿射变换等变化.可以说SIFT是图像特征工程方面做得很出色的算子. 现如今深度学习特别是CNN,ResNet等模型被研究者发明之后,图像特征工程似乎已经很"没有必要"了.深度神经网络通过多层表示能够更抽象地表示图像的特征(称作embedding). 在人脸识别也得益于深度学习,其中fac…
转自:http://blog.csdn.net/wave_1102/article/details/50651433 FTP (File Transfer Protocol) 可说是最古老的协议之一了,主要是用来进行档案的传输,尤其是大型档案的传输使用 FTP 更是方便!不过,值得注意的是,使用 FTP 来传输时,其实是具有一定程度的『危险性』, 因为数据在因特网上面是完全没有受到保护的『明码』传输方式!但是单纯的 FTP 服务还是有其必要性的,例如很多学校就有 FTP 服务器的架设需求啊! 1…
文章转自:https://linux.cn/article-10311-1.html 手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用.手册页对于已经熟悉使用 Linux.Unix 和 BSD 操作系统的人来说是非常有用的.如果你仅仅需要知道某个命令或者某个配置文件的格式那么你可以使用手册页,但是手册页对于 Linux 新手来说并没有太大的帮助.想要通过使用手册页来学习一些新东西不是一个好的选择.这里有将提供 30 个学习 Linux 和 Unix…
Android深度探索前四章总结 通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍.接着介绍了Android的四层架构:Linux内核:C/C++代码库:Android SDK API;应用程序.又引入Android移植,Android移植包括两部分:应用移植,系统移植.而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序. 学…
通过本章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍.接着介绍了Android的四层架构:Linux内核:C/C++代码库:Android SDK API;应用程序.又引入Android移植,Android移植包括两部分:应用移植,系统移植.而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序. 查看Linux内核版本方法: (1)L…
1.操作系统介绍 操作系统(Operating System,简称OS),是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各类硬件资源,如岁CPU.内存.磁盘等的管理,同时对系统资源供需的优先次序进行管理.操作系统还可以控制设备的输入.输出以及操作网络与管理文件系统等事务.同时,它也负责对计算机系统中各类软件资源的管理.例如各类应用软件的安装.设置运…
光驱 历史的东西 远程管理卡 ​ 它的作用是通过网络远程(异地)开关服务器,并可以查看服务器开关的过程等信息,早期(2010年以前),服务器托管在IDC机房,出问题,还得跑机房或者请机房的人管理,有了管理卡,运维人员管理服务器的效率就大大提高了. ​ 远程管理卡有服务器自带和独立两类.服务器自带的远程管理卡,可以关机.开机,但是看不到开关服务器的过程.所以,建议给服务器配独立的远程管理卡,可能会多花100来块人民币,但是,当服务器出现问题,不要打车或出差,也不用给机房人员打电话了,可以利用管理卡…
目录SAIU R20 1 6 第1页第1 章. 初识STM32...................................................................................................................... 11.1. 课前预习..........................................................................................…
对于Terminalor们,history命令并不陌生,什么!n, !!更是很常用的,而且您在命令行敲的cmds是默认保存在/home/$USER/.bash_history(linux) /Users/$USER/.bash_history(Mac)下的. 但是history不只是这个样子:存了命令然后可以查看调用. 先介绍几个与history相关的变量,控制history的行为和size HISTIGNORE (hist-ignore) 告诉history哪些命令不需要保存,直接把它们忽略掉…
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 HackRF链接:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-13257850194.8.69503d888aIzVL&id=526187854860 打开终端输入命令: wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio &am…
不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 16 位代码,这个话题确实有点复古,所以能找到的资料也相应较少.要运行 x86 实模式的程序,目前我知道的只有两种方式,一种是使用 DOS 系统,另一种是把它写成引导扇区的代码,在系统启动时直接运行.很显然,许多讲自己实现操作系统的书籍都会讲到 x86 实模式,也只有自己实现操作系统引导的朋友需要…
在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 Unix/Linux 世界的童鞋们都知道,从源代码自行编译安装软件并不是那么的难,一般都是这样三个步骤: configure make make install 之所以能够把源代码的构建管理得如此简单,这得益于 Gnu 的 Autotools 工具链.在上面的三个命令中,configure 是一个脚本…
用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全 ↑ 或 ↓ 键可以用来快速输入历史命令 还有一些交互式行编辑快捷键: C-A / C-E 将光标移到行首/行尾 C-B / C-F 将光标向左/向右移动一个位置 C-D 删除光标下的一个字符 C-K 删除光标及光标到行尾的所有字符 C-U 删除光标到行首的所有字符 ... 同样的操作在很多交互式程序都有类似的操作,例如 ftp.gdb 等等,那么你是否想过这些是如何实现的呢?如果我们要做一个命令行下的交互式开源…
这算是本系列文章的一个序吧,主要是为以后的学习做铺垫,文本分为三个部分,第一部分是对于网上一些比较旧的资料的问题的一些更正,当然我也不可能看过所有的资料,难免会有遗漏.第二部分是D语言最基本的规定,第三部分是相关的资源 一.对于一些网上旧资料上的内容不准确之处在此指出 1.D对闭包的支持不好 目前版本支持完全的闭包,所以不用担心   2.D不支持动态链接 目前版本支持动态链接技术,但Windows平台需要注意的是D的runtime建立在dmc(一个C编译器)runtime 基础上,它与VC的二进…
第一章.概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional(专业)的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力.因为,makefile关系到了整个…
1.查询cpu的相关 a.查询CPU的统计信息 使用命令:lscpu 得到的结果如下: Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte Order: Little Endian CPU(s): On-line CPU(s) list: - Thread(s) per core: Core(s) per socket: Socket(s): NUMA node(s): Vendor ID: GenuineIntel CPU family:…
今天被@SVCHAO  勾起兴趣来了.. 有把正则表达式兴趣捡起来了,试了下notepad++基本上语法倒是没有忘记,不过如果是用在嵌入式的方案的话,似乎还是有点费劲的. 先mark一个基础语法. 单个字符匹配 采用方括号描述,例如[0135678]表示0 1 3 5 6 7 8 都可以通过该次匹配 采用方括号排除,例如[^azAZ]表示除了a z A 和Z 全部可以通过该字节匹配 允许使用-表示范围,例如[0-9a-zA-Z]表示所有数字跟字母 常用单个字符存在通用表达方式,例如\w 表示[0…
GNU C 内联汇编介绍 简介 1.很早之前就听说 C 语言能够直接内嵌汇编指令.但是之前始终没有去详细了解过.最近由于某种需求,看到了相关的 C 语言代码.也就自然去简单的学习了一下如何在 C 代码中内嵌汇编指令. asm/__asm__ 关键字 1.总的来说在 C 代码中我们通过 asm/__asm__ 关键字来告诉编译器将指定的内容当汇编指令处理.废话不多说,先看个例子: #include <stdio.h> int main(int argc, char *argv[]) { int…
GNU Trove (http://trove4j.sourceforge.net/) 是一个Java 集合类库.在某些场景下,Trove集合类库提供了更好的性能,而且内存使用更少.以下是Trove中跟open addressing相关的几个特性: Trove maps/sets没有使用chaining解决hash冲突,而是使用了open addressing.跟chaining相比,open addressing对hash算法的要求更高.通过TObjectHashingStrategy 接口,…
1.Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法.功能强大.快速.优雅以及支持多平台. http://www.oschina.net/p/armadillo+cpp+library 2.Armadillo C++ Library 是一种C++的线性代数库(矩阵数学)以取得良好的平衡速度与易用性.整数,浮点,而复杂的数字支持,以及一个子集,三角和统计功能.各种矩阵分解是通过可选的集成 与LAPACK和Atlas 库.延迟评价方法,基于模板元编程…
作者:冯老师,华清远见嵌入式学院讲师. 译自“Using as The GNU Assembler January 1994”. 参考Tornado随机文档“GNU Toolkit User's Guide". GNU Assembler 80386 Dependent Features ■ AT&T语法 vs. Intel语法 为了保持和gcc的输出的兼容性,as支持AT&T System V/386汇编语法,它和Intel语法有相当大的差别.强调这个是因为几乎所有的80386…
本文2001年由台湾“网络农夫”所写,其人生平不祥,此文受鸟哥大力推崇,两人应该相识.文章写得很不错,应该是查了很多资料整理而成的,美中不足的是好多语句不通顺,国考语文绝对不及格,哈哈. 0.我的准备: 0.1.批处理系统和分时系统: 批处理系统,又名批处理操作系统.批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行.这种采用批量处理作业技术的操作系统称为批处理操作系统.批处理操作系统分为单道批处理系统和多道批处理系统.批处理操作系统不具有交互性,它是为了提高CPU的…
http://advancedlinuxprogramming.com提供了本书电子版的免费下载. 1 与执行环境交互 关于参数 C语言程序的main()函数使用两个参数和执行环境交互--(int)argc和(char*)argv[].前者表示所执行命令的参数个数,后者包含了所执行命令的各个参数.(char*)argv[]的第一个元素为程序本身的位置,其后为程序的参数. 看例子: #include <stdio.h> int main(int argc, char* argv[]) { pri…
-------------------------------------------------------------------------------------- GNU M4介绍: GNU M4 是一个传统Unix宏处理器的实现.它主要兼容 SVR4,尽管它有一些扩展(例如,处理超过9个位置参数的宏).GNU M4 同样有内置的函数用来包含文件,运行shell命令,做算术运算,等等. GNU M4 在某种意义上来说是一个宏处理器,它复制输入到扩展的宏后输出.宏既不是内置也不是用户定义…
一.目标 1.搭建传统的ssh开发环境,并成功运行(插入.查询) 2.了解c3p0连接池相关配置 3.了解验证hibernate的二级缓存,并验证 4.了解spring事物配置,并验证 5.了解spring的IOC(依赖注入),将struts2的action对象(bean)交给spring管理,自定义bean等...并验证 6.了解spring aop(面向切面编程),并编写自定义切面函数,验证结果 二.前期准备 开发环境:eclipse for java ee:mysql5.5.25:jdk1…