现在位置: 首页 > linux
2016-06-12 06:59 工业·编程 ⁄ 共 6006字 暂无评论
  fork英文原意是“分岔,分支”的意思,而在操作系统中,乃是著名的Unix(或类Unix,如Linux,Minix)中用于创建子进程的系统调用。 【NOTE1】  fork () 的作用是什么?换句话说,你用 fork () 的目的是什么? ――是为了产生一个新的进程,地球人都知道 产生一个什么样的进程? ――和你本来调用 fork () 的那个进程基本一样的进程,其实就是你原来进程的副本; 真的完全一样吗? ――当然不能完全一样,你要两个除了 p...
阅读全文
2016-06-11 06:56 工业·编程 ⁄ 共 3059字 暂无评论
fork是最难理解的概念之一:它执行一次却返回两个值。    首先我们来看下fork函数的原型: #include <sys/types.h> #include <unistd.h> pid_t fork(void); 返回值: 负数:如果出错,则fork()返回-1,此时没有创建新的进程。最初的进程仍然运行。 零:在子进程中,fork()返回0 正数:在负进程中,fork()返回正的子进程的PID 其次我们来看下如何利用fork创建子进程。 创建子进程的样板代码如下...
阅读全文
C运行时库函数 C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的。 API函数 API函数是操作系统为方便用户设计应用程序而提供的实现特定功能的函数,API函数也是C语言的函数实现的。 区别 他们之间区别是:API函数是针对操作系统的,C语言运行时函数则是针对C语言本身的。 ·1、运行时库就是 C run-time library,是C而非C++语言世界的概念。取这个名字就是因为你的C程序运行时需要这些库中的...
阅读全文
2016-06-08 22:43 工业·编程 ⁄ 共 3127字 暂无评论
当你在Linux下写C/C++代码的时候,是不是会遇到许多编译链接的问题? 时不时报个glibc,gcc,g++等相关的错误? 很多时候都无从下手,而且比较混乱。 这也是编译链接过程中经常出现的问题。 这篇文章不是去介绍如何编译链接,而是理清编译链接过程中碰到的一些概念和出现的问题。尤其是,libc,glib,glibc,eglibc,libc++,libstdc++,gcc,g++。 从libc说起。 libc是linux下原来的标准C库,也就是当初写hello world时包含的头文件...
阅读全文
2016-06-07 22:39 工业·编程 ⁄ 共 1398字 暂无评论
1.Glibc glibc = GNU C Library 是GNU项(GNU Project)目,所实现的 C语言标准库(C standard library)。 目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准库。 其实现了常见的C库的函数,支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。 2.uClibc 一个小型的C语言标准库,主要用于嵌入式。 其最开始设计用于uClinux(注:uClinux不支持MMU),因此比较适用于微处理器中。 对应的,此处的...
阅读全文
2016-06-07 22:33 工业·编程 ⁄ 共 518字 暂无评论
文章目录 方法一 方法二 GNU C库(glibc)是标准C库的GNU实现。glibc是GNU工具链的关键组件,用于和二进制工具和编译器一起使用,为目标架构生成用户空间应用程序。 当从源码进行构建时,一些Linux程序可能需要链接到某个特定版本的glibc。在这种情况下,你可能想要检查已安装的glibc信息以查看是否满足依赖关系。 这里介绍几种简单的方法,方便你检查Linux上的glibc版...
阅读全文
文章目录 嵌入式系统: Linux: 嵌入式linux:  这几个东西比较容易混淆 嵌入式系统: IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部...
阅读全文
2016-05-10 06:28 工业·编程 ⁄ 共 1194字 暂无评论
1. 在Linux下,如何确认是多核或多CPU: #cat /proc/cpuinfo 如果有多个类似以下的项目,则为多核或多CPU: processor  : 0 ...... processor  : 1 2. Linux下,如何看每个CPU的使用率: #top -d 1 之后按下1. 则显示多个CPU Cpu0  :  1.0%us,  3.0%sy,  0.0%ni, 96.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%...
阅读全文
在 Linux 分发应用不总是那么容易。有各种不同的包格式、基础系统、可用库,随着发行版的一次次发布,所有的这些都让人头疼。然而,现在我们有了更简单的东西:Snap。 Snap 是开发者打包他们应用的新途径,它相对于传统包格式,如 .deb,.rpm 等带来了许多优点。Snap 安全,彼此隔离,宿主系统使用了类似 AppArmor 的技术,它们跨平台且自足的,让开发者可以准确地将应用所需要的依赖打包到一起。沙盒隔离也加强了安全,并允许...
阅读全文
引言:在本文中,开源操作系统之父Linus Torvalds将畅谈Linux的前世、今生与未来。 早在1991年还在芬兰赫尔辛基大学就读时,Linus Torvalds便创建出了最初的Linux操作系统内核。之后这个小小的内核很快发展成了一个功能全面的操作系统,可以运行在智能手机与服务器上,还有各种各样的小工具上。本文是一篇电子邮件访谈记录,文中Torvalds回顾了过去25年来Linux的影响,并展望了未来25年可能出现的变化。 Stephen Cass(记者,以...
阅读全文