gnu

Example Post - PCT的博客

六月ゝ 毕业季﹏ 提交于 2020-02-09 23:09:54
This document is not completed and will be updated anytime. Catagory Unix Bell Labs Xenix BSD FreeBSD & Apple NeXTStep Darwin POSIX Unix-like Single Unix Specification Apple iOS XNU Kernel Linux Linux Kernel GNU Project Android Android Kernel Android ROM Chrome OS Chromium OS Unix Unix is a family of multitasking, multiuser computer OS. Derive from the original AT&T Unix , Developed in the 1970s at Bell Labs (贝尔实验室), initially intended for use inside the Bell System . Bell Labs Bell 和 AT&A 在那时已经是一家了,可以看到那时的通信公司真是一线 IT 公司呢。 C 语言也是 Bell Labs 的产物 ,从一开始就是为了用于 Unix 而设计出来的。所以 Unix (在 73 年用 C 重写

GNU make yields “commands commence before first target” error

99封情书 提交于 2020-02-09 08:58:33
问题 In my makefile, I would like to check for the existence of a library and give an informative error message. I created a conditional that should exit the make process when the file is not found: 9: ifeq ($(${JSONLIBPATH}),) 10: JSONLIBPATH = ${ALTJSONLIBDIR}/${LIBJSON} 11: endif 12: ifeq ($(${JSONLIBPATH}),) 13: $(error JSON library is not found. Please install libjson before building) 14: endif My makefile gets stuck on line 13: Makefile:13: *** commands commence before first target. Stop.

toolchain

感情迁移 提交于 2020-02-08 18:55:06
什么是toolchain 为了生成可执行程序或者库文件,需要编译器链接器等开发工具,编译器将源代码编译为目标文件,链接器将目标文件,库文件链接成可执行文件。这些开发工具的集合称之为toolchain,包括预处理器,编译器,汇编器,链接器和调试器等。 GNU toolchain 用于开发GNU操作系统(Linux系统)上的可执行程序或库文件的工具链 ld - the GNU linker. as - the GNU assembler. gcc - the GNU compiler nm - Lists symbols from object files. readelf - Displays information from any ELF format object file. objdump - Displays information from object files. Ubuntu16.04 toolchain NDK toolchain 用于开发Android系统上的可执行程序或库文件的工具链 aarch64-linux-android-gcc aarch64-linux-android-g++ aarch64-linux-android-ar 库管理工具 aarch64-linux-android-as 汇编器 aarch64-linux-android-ld 链接器

CentOS 7 安裝FastDFS V6.0.3

拈花ヽ惹草 提交于 2020-02-07 18:54:26
什么是FastDFS? FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS是一个应用级分布式文件存储服务,其采用中心型结构(类似GFS、HDFS、TFS等),主要用于大中型网站存储资源文件。FastDFS具有轻量级,支持高并发放访问,负载均衡,可扩展等优点。而FastDFS最大的亮点就是对小文件的存储性能较好,这主要来自于其文件名策略。 1.小文件存储性能优化 小文件的性能瓶颈主要来自于对元数据服务器(如FastDFS中的TrackerServer或TFS中的NameServer)的访问,因为当文件本身大小很小时,元数据存储所占空间与文件内容存储所占空间的比例就变得较大,访问元数据所消耗资源与访问文件内容所消耗资源的比例也变得较大。因此,通常对小文件存储的优化方法主要有两大类思路:一是减少访问元数据的次数,比如Cache预取;二是减少元数据所占的存储空间,比如FastDFS使用的文件名策略。 2. FastDFS文件名策略 FastDFS中的文件名是在向StorageServer存储文件时由系统指定的,文件名中包含了VolumeID和FileID。也就是说,当客户要读取某个文件时

12实习第14天(在x64的Ubuntu18.04系统下安装64bit的交叉编译工具aarch64-linux-gnu-gcc)

大城市里の小女人 提交于 2020-02-05 10:20:43
安装步骤如下: sudo apt-get install gcc-5-aarch64-linux-gnu 安装一个gcc开头的5版本的支持64bit ARM linux的交叉编译工具; sudo apt-get install gcc-aarch64-linux-gnu 然后再安装一个没有版本号的gcc-aarch64-linux-gnu; 以上步骤是安装支持ARM64位系统的交叉编译工具,安装之后,用 aarch64-linux-gnu-gcc -v可以查看里边的版本信息,里边有host是什么,target是什么 结果: gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) 下面编译.c文件: aarch64-linux-gnu-gcc test.c -o kk 查看: file kk kk: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.7.0, BuildID[sha1]=67641e145b5ae5d14c815be5eb66dea9a64eef7b, not stripped 这是结果: 这是在firefly

Linux下gcc/g++、make和cmake的区别

邮差的信 提交于 2020-02-05 00:36:37
首先介绍一下GCC :GNU Compiler Collection(GNU 编译器集合),在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前 Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、 Fortran、Pascal、Modula-3和Ada等。 gcc与g++区别: gcc 是GCC 中的GUNC Compiler(C 编译器) g++ 是GCC 中的GUN C++ Compiler(C++编译器) 更准确的说法是:gcc 调用了Ccompiler,而g++调用了C++ compiler gcc 和g++ 的主要区别 1. 对于 *.c 和*.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的); g++则统一当做cpp文件编译 2. 使用g++ 编译文件时, g++ 会自动链接标准库STL ,而gcc不会自动链接STL, 在用gcc 编译c++文件时,为了能够使用STL,需要加参数 –lstdc++

Linux桌面只有1%吗?

不羁岁月 提交于 2020-02-04 05:51:29
近日,根据 NetApplications 的调查报告,断言:全球 GNU/Linux 桌面用户只占全球计算机用户的 1.02% ,可怜兮兮的。实际情况到底怎样呢?这是一个基本的认识问题,必须搞清楚。 大家知道,凡是商业调查都需要较大的成本投入和外力支持,有明显的目的性,不会是纯粹公益性的调查。事实上,针对上述调查,存在很大的异议(争议),有许多不同的声音。 首先,我们要搞明白, NetApplications (本文简称 NA 公司)的调查是怎么进行的。事实上,在如此巨大的全球市场上, NA 的调查样本(即调查网站群),相对而言,是很小的,局限于美国,甚至更加偏重于加拿大地区。 NA 的调查结论必然存在一定的偏差,难免以偏概全。容易想见,不同的调查样本(空间),会有不同的调查结论。假定我们的目光聚焦在一些活跃的技术性网站群上,那么,可以肯定的是, GNU/Linux 的用户数绝对不止是 1 %。比如,根据 Netcraft 的调查数字,在服务器方面, GNU/linux 用户占到 45 %的份额(假定大多数 Apache 服务器都跑在 GNU/Linux 上)。 事实上, GNU/Linux 的用户群体是很难精确统计的,因为,它的边界并不清晰,这是由于 GNU/Linux 的自由传播性所造成的。人们可以从不同角的度观察 GNU/Linux 用户群体。比如

Qt用到的开发工具

亡梦爱人 提交于 2020-02-03 03:34:49
Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是 Unix 家族, 当时还没有 Windows、 Linux 之类的,Unix 系统都是商业软件,里面的应用软件也是商业软件, 全是封闭的环境。 系统程序员 Richard M. Stallman (RMS) 在此环境下创立了与众不同的 GNU 项目 (GNU's Not Unix) , 以及推进自由软件发展的 Free Software Foundation (FSF) 自由软件基金会 。 GNU 项目是为了创建自由的类 Unix 系统,也因此开发出来很多开源的系统工具,其中非常著名的就是 GCC (GNU Compiler Collection,GNU编译器套件)。 现在我们知道,GUN 开发类 Unix 系统的项目失败了,但是它开发的一系列工具集却用到了后来的 Linux 内核上,两者结合形成了今天的各种 Linux 发行版,有兴趣的读者请转到《 Linux和UNIX的关系及区别 》了解更多。 在 GNU 工具集里面,开发时常见到的几个罗列如下(这些工具通常位于 Linux 或 Unix 系统里的 /usr/bin/ 目录):

Linux入门

六月ゝ 毕业季﹏ 提交于 2020-01-30 03:38:34
Linux入门 操作系统的分类 Windows系列操作系统,Unix类操作系统,Linux类操作系统,Mac操作系统 提问:为什么要去学习Linux? 同学甲可能要问,超哥你介绍了这么多有关Linux的知识,但我还是懵逼,我从小学去网吧打泡泡堂用的就是Windows,上了这么多年学也是用的Windows,为什么要让我学这个Linux? 同学乙可能要问,听起来Linux好像很高大上,如果我放弃Windows去学Linux,用不了多久就会升职加薪当上总经理赢取白富美吗?想想还很激动。。。 那么超哥要回答了:   如果Windows意味着生活和游戏,那么Linux久代表着严谨和工作,学习Linux代表着你要开发软件,你要测试程序,你要维护服务器。那么依据呢?请看如下: 由此可见,无论你是python后端开发,还是python测试开发,又或者是爬虫、数据挖掘开发,统统都必须学会Linux,这是开发者必须的技能。   我们都知道Linux这玩意是在电脑上运行的,所以说Linux就是一组软件,问题是这个软件是操作系统还是应用程序?而且Linux可以在哪些种类的电脑上运行呢?Linux来自哪里?为什么Linux不收钱?(万恶的windows分为各种收费版、家庭版、专业版、企业版。。。。)这些问题我们是不是都得了解,以免人家和你聊linux,俺不会尴尬呀。 什么是操作系统 我们都知道windows