首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大牛书单 | Linux 好书推荐

成千上万的极客积极响应,不断给Linux提交和修订,开启了Linux时代。...Linux今天已代指使用GNU工程各种工具和应用程序的操作系统生态(被称为GNU/Linux),Linux成为了当今世界上最流行的系统,运行在数以亿计的设备上,从单片机到手机到服务器。...Linux也大力助推了中国IT发展,从互联网1.0、2.0到移动互联网,让中国的IT快速跟上甚至引领浪潮,今天腾讯、阿里等数以百万级的服务器,服务数十亿的用户,依靠的就是Linux的生态链。...本期《大牛书单》,我们就请来了几位鹅厂同事,为大家推荐一些Linux相关的书籍,一起多读书多进步。...欢迎观看腾讯程序员最新视频 福利时刻 在评论区留言你在 Linux 学习中的故事,或者你的心得和看法,我们将抽取 20 位朋友各送一本我们飞哥的《深入理解Linux网络》这本书。

1.1K20

大牛书单 | C++的好书推荐

Bjarne Stroustrup博士在贝尔实验室工作期间,个人在C和Simula两种计算机语言基础上,基于直接操作硬件,同时支持高效,高级抽象的设计理念,于1979年完成了C++语言最初版本,1985...年首次商业发行,随着功能扩展与完善,C++后来成为最广泛使用的计算机程序设计语言之一。...C++作为一种通用及自由的编程语言,同时支持面向过程,面向对象,泛型编程,函数式编程四大编程流派,加之硬件级的映射及高执行效率真使其应用极其广泛。...C++从最初的封装,继承,多态的简单三大特征,到后来异常,移动语义,lamda表达式,编译期计算,内存模型,并发并行的引入,及图灵完备的模板元编程与函数式编程的不断演变,使其成为最复杂的计算机语言之一。...本期《大牛书单》,我们就请来了几位鹅厂同事,为大家推荐一些C++相关的书籍,一起多读书多进步。

73031
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux C 编程——多线程

    线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。与多进程相比,多进程具有多进程不具备的一些优点,其最重要的是:对于多线程来说,其能够比多进程更加节省资源。...1、线程创建 在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完全一样的进程,并在这个进程中执行线程函数。...在Linux中,通过函数pthread_create()函数实现线程的创建: int pthread_create(pthread_t *thread, const pthread_attr_t *attr...表示的是一个函数指针,该函数是线程调用函数; arg表示的是传递给线程调用函数的参数。...2、线程挂起 在上述的实现过程中,为了使得主线程能够等待每一个子线程执行完成后再退出,使用了free()函数,在Linux的多线程中,也可以使用pthread_join()函数用于等待其他线程,函数的具体形式为

    5.4K60

    Linux C 编程——多线程

    线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。与多进程相比,多进程具有多进程不具备的一些优点,其最重要的是:对于多线程来说,其能够比多进程更加节省资源。...1、线程创建 在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完全一样的进程,并在这个进程中执行线程函数。...在Linux中,通过函数pthread_create()函数实现线程的创建: int pthread_create(pthread_t *thread, const pthread_attr_t *attr...表示的是一个函数指针,该函数是线程调用函数; arg表示的是传递给线程调用函数的参数。...2、线程挂起 在上述的实现过程中,为了使得主线程能够等待每一个子线程执行完成后再退出,使用了free()函数,在Linux的多线程中,也可以使用pthread_join()函数用于等待其他线程,函数的具体形式为

    6.4K40

    Linux C编程之一:Linux下c语言的开发环境

    ---恢复内容开始--- 今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...3、IDE(集成开发环境:集编辑、编译、调试等功能于一身的工具)   Kylix:号称Linux下的dephi;   Kdevelop   RHIDE:类似与Turbo C++ 4、编译器:gcc...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装Linux的C开发语言环境的。...7、Linux下C程序开发过程:   (1)使用vi工具编辑写源程序;   (2)保存为*.c;   (3)使用gcc编译成二进制可执行文件;   (4)....不论你用的是windows还是linux,在传输文件的时候,能做到向windows那样直接拖动,就方便多了。 打开终端:

    10.7K01

    Linux C编程之一:Linux下c语言的开发环境

    今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...1、开发环境的构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛的gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、在安装Linux时需要注意事项...3、IDE(集成开发环境:集编辑、编译、调试等功能于一身的工具) Kylix:号称Linux下的dephi; Kdevelop RHIDE:类似与Turbo C++ 4、编译器:gcc(GNU CCompiler...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装Linux的C开发语言环境的。...{ printf(“Hello Linux\n”); return 0; } 9、c程序组成 对于一个c程序,安装完成后可以分成三个部分: 可执行文件;包含文件;库文件 比如用rpm安装的MySQL

    7.7K40

    Linux C语言高级编程之网络编程!

    简介 本章主要讲解网络编程的基础知识,主要包括七层网络模型、常用通信协议、IP地址与子网掩码及端口号、字节序。 七层网络模型 讲到网络首先说一下最常见的网络模型,七层网络模型。...子网掩码:主要用于划分IP地址中的网络地址和主机地址,也可以判断两个IP地址是否在同一个局域网中,具体的划分方法如下: IP地址 & 子网掩码 => 网络地址 + 主机地址 网络编程中需要提供...,范围是:0 ~ 65535,但是其中0 ~ 1024之间的端口号被系统占用,因此以后编程时建议从1025开始使用。...:0x12 0x34 0x56 0x78 一般来说,在网络编程中需要将所有发送到网络中的多字节整数先转换为网络字节序再发送,将所有从网络中接收过来的多字节整数先转换为主机字节序再解析,而网络字节序本质就是大端系统的字节序...总结:以上概念都是网络编程中最常见最基础的知识点,这些都需要大家掌握。另预告一下,下一章将讲解非常重要的SOCKET网络编程,希望大家多多关注。

    5.4K90

    Linux C 编程——互斥锁mutex

    1、多线程的问题引入 多线程的最大的特点是资源的共享,但是,当多个线程同时去操作(同时去改变)一个临界资源时,会破坏临界资源。...,我们会发现,得到的结果是混乱的,出现上述的最主要的原因是,我们在编写多线程代码的过程中,每一个线程都尝试去写同一个文件,这样便出现了上述的问题,这便是共享资源的同步问题,在Linux编程中,线程同步的处理方法包括...2、互斥锁 互斥锁是通过锁的机制来实现线程间的同步问题。...互斥锁的基本流程为: 初始化一个互斥锁:pthread_mutex_init()函数 加锁:pthread_mutex_lock()函数或者pthread_mutex_trylock()函数 对共享资源的操作...同时,解锁的过程中,也需要满足两个条件: 解锁前,互斥锁必须处于锁定状态; 必须由加锁的线程进行解锁。 当互斥锁使用完成后,必须进行清除。

    5.3K110

    linux下socket编程实例_C语言窗口编程

    注意:其实socket也没有层的概念,它只是一个facade设计模式的应用,让编程变的更简单。是一个软件抽象层。在网络编程中,我们大量用的都是通过socket实现的。...4.Socket编程的基本流程 在生活中,A要电话给B,A拨号,B听到电话铃声后提起电话,这时A和B就建立起了连接,A和B就可以讲话了。等交流结束,挂断电话结束此次交谈。...具体如何实现,可以看看linux的内核 5.Linux C Socket简单实例与详细注释 程序为简单的“回射”,客户端将控制台输入的信息发送给服务器端,服务器原样返回信息。...C Socket编程原理及简单实例 2....Linux的SOCKET编程详解 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    5.3K10

    10本拍手叫绝的编程好书丨文末送书

    在前两篇推文《9本相见恨晚的“计算机”好书》、《 9 本醍醐灌顶的计算机好书》中,腾讯云开发者公众号为大家分享了腾讯工程师们强烈推荐的计算机经典图书。...这些好书,涵盖了从计算机理论科学、软件工程等基础知识,到实现阶层跃升、视野开拓、站位升维的方法论。希望能帮助大家在追求技术极致的同时,跳出技术的局限,用高维视角去剖析问题本质。...国庆长假即将来临,我们为大家精心准备了 10 本适合假期阅读的计算机好书,从编程语言到 AI,从游戏到计算机文化不一而足。参与本文有奖互动,我们将挑选 10 位幸运读者,送出本书单任意一本图书!...如果你想在国庆期间更加深入理解软件架构这个概念,这本书值得你的深入阅读。 接下来要为大家推荐的,是三大热门编程语言的经典好书。...它的设计目标是提供与C++相媲美的性能,同时确保内存安全和线程安全。

    1.1K12

    C编程之一:Linux下c语言的开发环境

    今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...1、开发环境的构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛的gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、在安装Linux...3、IDE(集成开发环境:集编辑、编译、调试等功能于一身的工具) Kylix:号称Linux下的dephi; Kdevelop RHIDE:类似与Turbo C++ 4、编译器:gcc(GNU...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装Linux的C开发语言环境的。...7、Linux下C程序开发过程: (1)使用vi工具编辑写源程序; (2)保存为*.c; (3)使用gcc编译成二进制可执行文件; (4).

    3K00

    《linux c编程指南》学习手记4

    操作 7.2.1文件的创建、打开与关闭 1 文件的创建 create 2 文件的打开 open (文件操作不能保证都是成功的,因此文件操作都要进行检测,如果错误要终止程序) 3 文件的关闭 close...7.2.2 文件的读写操作  write  read 7.2.3 文件的定位 lseek 7.3 文件的其他操作 7.3.1 文件属性的修改 1 修改文件权限 改变文件所有者 chown fchown...  (对文件进行操作时,调用chown使用该文件的路径名,调用fchown时使用该文件打开时的文件描述符)   仅root用户可以使用 改变文件的访问权限 chmod fchmod 2 修改文件的其他属性...lstat函数只返回链接本身的信息 3 fsync 将保存在缓冲区内的要写入文件描述符fd的所有数据刷新到要写入的文件中 4 flock 上锁或解锁 5 fcntl 查看或设置文件的一些相关信息 6 select...处理多个文件描述符的有效手段 7.4 特殊文件的操作 7.4.1 目录文件的操作 1目录文件的创建删除 mkdir    rmdir 2文件的打开关闭   opendir  closedir 3目录文件的读取

    1.5K100

    《linux c编程指南》学习手记1

    第一章  c语言基础 linux概述 虚拟文件系统VFS 进程通信机制:管道,信号    消息队列  信号灯  共享内存 第二章  vim与emacs 两种主流编辑器:vim emacs vi 的含义...gcc -v 显示版本号 time + 可执行文件,可以显示出 程序执行的时间,CPU的时间,sys系统消耗的时间 ?...gcc 优化   gcc 优化采用 -O1  -O2  -O3 三个级别:   如果数字越大代表优化级别越高,但是优化也不一定全是好处:   有可能会删除不用的变量,可能导致调试困难。...可能因为优化加大编译的时间。所以优化尽量用在必要的地方。...gdb(gcc debugger)gcc调试工具 其他的编译器: g++   EGCS   calls  indent  gprof  f2c和p2c

    1.6K60

    Linux下C语言编程(1):IO编程「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。   笔者今天来讲讲Linux下IO口的使用。用的硬件是三大开源器件之一的BeagleBone(狗骨头)。...接口( 20 pin 标准接口, 默认未焊接 连接器) 软件使用 使用的 Eclipse C/C++ 来进行操作。...Eclipse 进行Linux远程开发 Eclipse 远程Debug调试C程序 IO口的使用   在使用GPIO的时候,首先需要查看一下当前哪些IO口可以直接使用。...之前听到过一句很经典的话,Linux下一切皆文件,所以IO设备也当文件处理即可。 1. IO口初始化   编写思路同上文讲的一样,注意的一点是操作的IO口的路径要写正确。 a....下C语言编程(2):ADC编程 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133457.html原文链接:https://javaforall.cn

    3.1K20

    《linux c编程指南》学习手记5

    8.1 流简介 打开:fopen()   标准输入、标准输出、标准错误   关闭:fclose(); 8.2.1 流的打开与关闭 fopen  打开特定的文件 freopen  在一个特定的流上打开一个文件...fopen  将一个流与某一个打开的特定文件相对应 fclose 关闭流。...如果程序未结束就执行了关闭操作,有可能造成写入的数据停留在缓冲区里而没有保存到文件中,造成数据的丢失 8.2.2 缓冲区的操作 1 设置缓冲区属性 setbuf   全缓冲  无缓冲 setbuffer...  由程序员自行指定缓冲区的大小 setlinebuf  行缓冲 setvbuf  设置缓冲区属性 2 缓冲区清洗 内容清除、或 保存到其文件中 fflush   将缓冲区中尚未写入文件的数据强制性的保存到文件中...fpurge   将缓冲区内的数据完全清除 8.2.3  直接输入输出 直接输入输出、格式化输入输出、基于字符与行的输入输出 fread 执行直接输出操作,fwrite 执行直接输入操作  返回值是实际读取或写入的记录数目

    1.4K80

    Linux嵌入式开发——C编程

    文章目录 Linux嵌入式开发——C编程 一、编写C程序 1.1、设置vim编辑器 1.2、编写C程序 二、编译C程序 三、make工具和Makefile文件 3.1、编写C程序 C文件 H文件 3.2...、不使用make工具 3.3、使用make工具和Makefile文件编译 Linux嵌入式开发——C编程 一、编写C程序 我们目前就是使用VIM编辑器编写程序,当然,也可以使用vscode,但是vscode...1.1、设置vim编辑器 首先我们需要设置vim编辑器的一个TAB=4个字节,来使得与我们的编程习惯相类似。...具体操作如下所示: -c:只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。...\r\n); | ^ 三、make工具和Makefile文件 我们在编程过程中,经常出现许多的.C文件和.H文件,如果还是像上面一样

    4.8K20
    领券