linux c
雪的季节
每天叫醒我们起床的不是梦想,是闹钟!
展开
-
计算结构体的大小
计算结构体的大小结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。看下面这样的一个结构体: struct stu1 { int i; char c; int j; }; 先介绍一个相关的概念——偏移量。偏移量指的是结...转载 2018-08-15 01:05:52 · 780 阅读 · 0 评论 -
C++ 用libcurl库进行http通讯网络编程
C++ 用libcurl库进行http通讯网络编程目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验...转载 2018-11-21 09:48:07 · 187 阅读 · 0 评论 -
线程的几种锁及基本操作
线程的几种锁及基本操作2018年05月05日 22:50:21 CZF_CSDN 阅读数:788 标签: 线程互斥锁读写锁自旋锁乐观锁和悲观锁 更多个人分类: Linux版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bian_cheng_ru_men/article/details/80210501我们先来看一段代码: ...转载 2018-11-22 15:24:27 · 262 阅读 · 0 评论 -
锁粒度
锁粒度原文出处:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.performance/lock_granularity.htm一个在多处理器环境中工作的程序员必须决定对共享数据一定要创建多少单独的锁。如果只有一个锁来序列化整个共享数据项的集合,那么相比之下很可能出现锁争用。广泛使用锁的存在给系...转载 2018-11-22 15:30:31 · 3370 阅读 · 0 评论 -
互斥锁 自旋锁 读写锁的区别
互斥锁 自旋锁 读写锁的区别2017年09月12日 19:52:16 亮大王 阅读数:1509 标签: 线程 更多个人分类: java版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/swl1993831/article/details/77948930互斥锁:共享资源的使用是互斥的,即一个线程获得资源的使用权后就会将该资源加锁,使用...转载 2018-11-22 15:40:17 · 446 阅读 · 0 评论 -
linux 中常用编译参数解析
linux 中常用编译参数解析 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/taoyanqi8932/article/details/517587221.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译2 如何编...转载 2018-11-20 03:00:29 · 1031 阅读 · 0 评论 -
自旋锁与互斥锁的对比、手工实现自旋锁
自旋锁与互斥锁的对比、手工实现自旋锁版权声明:本文为博主原创文章,转载请注明出处,谢谢。 https://blog.csdn.net/FreeeLinux/article/details/53695111 本文地址:(LYanger的博客:http://blog.csdn.net/freeelinux/article/details/53695111) 本文之前,我只...转载 2018-11-20 10:49:51 · 248 阅读 · 0 评论 -
gcc编译参数-fPIC的一些问题
gcc编译参数-fPIC的一些问题转载▼标签: linux compiler gcc -fpic it 分类: NSN_BspDriver ppc_85xx-gcc -shared -fPIC liberr.c -o liberr.so-fPIC 作用于编译阶段,告诉编译器产生与位置无关...转载 2018-11-20 12:57:04 · 178 阅读 · 0 评论 -
gcc调试中使用静态连接库和动态链接库以及-I -l L含义
gcc调试中使用静态连接库和动态链接库以及-I -l L含义2017年01月12日 22:08:11 潇雨码农 阅读数:3417更多个人分类: linux c版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21034239/article/details/543823111)静态链接库与动态链接库都是共享代码的方式, 区...转载 2018-11-20 13:00:35 · 2859 阅读 · 1 评论 -
linux静态库,动态库和硬链接,软连接
linux静态库,动态库和硬链接,软连接标签: 杂谈 分类: linux/unix 静态库1、命令gcc -c a.c b.c生成a.o和b.o;2、命令ar -r libname.a a.o b.o生成包含名为libname.a的静态库;3、命令gcc main.c libname.a可以在main中链接静态库libname.a。动态库(共享库)...转载 2018-11-20 13:04:32 · 2481 阅读 · 0 评论 -
有助于提高"锁"性能的几点建议
有助于提高"锁"性能的几点建议 1.减小锁持有的时间比如100个人去银行办理业务,要填一百张表,但是只有一支笔,那么很显然,每个人用笔的时间越短,效率也就月高:看代码: /* othercode1和othercode2很耗时间,里面没有涉及资源同步,只有mutexMethod方法要对资源同步, 所有优化代码让持有锁时间尽量短 */ ...转载 2018-11-20 13:26:59 · 250 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度-总结
算法的时间复杂度和空间复杂度-总结 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌...转载 2018-12-02 03:26:28 · 359 阅读 · 0 评论 -
gcc命令
gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。语法gcc(选项)(参数)选项-o:指定生成的输出文件;-E:仅执行编译预...转载 2018-08-13 10:28:00 · 169 阅读 · 0 评论 -
gdb命令
gdb命令编程开发《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本。点此免费在线阅读。gdb命令包含在GNU的gcc开发套件中,是功能强大的程序调试器。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。命令 解释 ...转载 2018-08-13 10:33:03 · 1628 阅读 · 0 评论 -
C语言学习篇-1Hello, World!(编写、编译、链接、运行)
C语言学习篇-1Hello, World!(编写、编译、链接、运行) 开发工具的选择写代码的工具:记事本、ULtraEdit、Vim、Xcode等。 选择Xcode的原因:苹果公司官方提供的开发利器、简化开发的工程、有高亮显示功能。代码编写程序结构 C程序的结构:由函数组成。 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这...转载 2018-08-13 11:20:54 · 570 阅读 · 0 评论 -
单线程和多线程的优缺点
单线程和多线程的优缺点 单线程和多线程的优缺点多线程处理的优点同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程。例如,文字处理器应用程序在您处理文档的同时,可以检查拼写(作为单独的任务)。由于多线程应用程序将程序划分成独立的任务,因此...转载 2018-08-23 12:58:55 · 4922 阅读 · 0 评论 -
Linux rpm 命令参数使用详解[介绍和应用] RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包
Linux rpm 命令参数使用详解[介绍和应用] RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合: ...转载 2018-09-14 17:07:02 · 521 阅读 · 0 评论 -
僵尸进程,孤儿进程是如何产生
僵尸进程,孤儿进程是如何产生 通过pstree我们可以查询当前进程的树形结构图,无疑init进程是所有进程的直接或者间接地老子;所有的进程都不是全新的创建,而是通过现有的进程来创建的,所以所有的进程的关系不是兄弟便是直接或间接地父子关系;init进程是所有进程的祖先,其他的进程都是由init直接或者间接fork出来的; 进程有哪些状态: D:不可中断的sle...转载 2018-10-03 02:41:19 · 475 阅读 · 0 评论 -
RPM构建 - SPEC文件参数解析
RPM构建 - SPEC文件参数解析 版权声明:原创不易,转载请注明出处! https://blog.csdn.net/iamonlyme/article/details/531311051. RPM构建 - 介绍2. RPM构建 - SPEC文件参数解析3. RPM构建 - 简单实例4. RPM构建 – 源码编译 通常,供Linux使用的源代码包还提供一个名为 { 软件名...转载 2018-09-21 13:18:13 · 2209 阅读 · 0 评论 -
linux下fdisk命令的用法详解
linux下fdisk命令的用法详解 ((1)通过fdisk -l 查看机器所挂硬盘个数及分区情况;一、fdisk用法详解举例说明:[root@localhost ~]# fdisk -lDisk /dev/sda: 250.1 GB, 250059350016 bytes255 heads, 63 sectors/track, 30401 cylindersUnits =...转载 2018-09-27 15:06:58 · 34765 阅读 · 0 评论 -
fakeroot 的作用
从源码建立 deb packagesapt-get source [-b] 下载一个源码的包并解开。你必须在你的 /etc/apt/sources.list 文件里写入一条 deb-src 的记录才能完成这项工作。如果你输入了一个 -b 参数,并且是以 root 的身份,deb 包会被自动的创建。apt-get build-dep 自动下载并安装通过源码创建 时需要的包。只有apt 0.5以上版本...转载 2018-10-18 19:42:48 · 4359 阅读 · 0 评论 -
Linux的inode的理解
Linux的inode的理解 文件名 -> inode -> device block 转自:http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://blog.s135.com/post/295/ http://hi.baidu.com/leejun_2005/blog/item/d9aa13a53b3af6e9...转载 2018-10-20 21:35:55 · 175 阅读 · 0 评论 -
C++编译期多态与运行期多态
C++编译期多态与运行期多态阅读目录前言 运行期多态 编译期多态 运行期多态与编译期多态优缺点分析 运行期多态优点 运行期多态缺点 编译期多态缺点 关于显式接口与隐式接口 正文回到顶部前言今日的C++不再是个单纯的“带类的C”语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C++发展中最为出彩的那部分。在面向对象...转载 2018-11-20 14:59:07 · 232 阅读 · 0 评论 -
单例模式的八种写法比较
单例模式的八种写法比较 单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。 简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我...转载 2018-11-20 15:51:52 · 122 阅读 · 0 评论