![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常用知识
xiaoyaoxiaoshenxian
这个作者很懒,什么都没留下…
展开
-
理解 pkg-config 工具
你在 Unix或 Linux下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。转载 2015-09-11 13:07:48 · 257 阅读 · 0 评论 -
Undefined reference to XXX
没有指定对应的库(.o/.a/.so)使用了库中定义的实体,但没有指定库(-lXXX)或者没有指定库路径(-LYYY),会导致该错误,连接库参数的顺序不对在默认情况下,对于-l使用库的要求是越是基础的库越要写在后面,无论是静态还动态gcc/ld版本不匹配 gcc/ld的版本的兼容性问题,由于gcc2到 gcc3大版本的兼容性存在问题(其实gcc3.2到3.4也一定程度上转载 2015-09-11 13:07:03 · 358 阅读 · 0 评论 -
volatile
目录1作用2例子3使用地方4代码5正确使用6使用方法7词典解释作用编辑volatile的作用是:作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止编译器对代码进行优化.比如如下程序:XBYTE[2]=0x55;XBYTE[2]=0x56;XBY转载 2015-09-11 13:51:12 · 417 阅读 · 0 评论 -
虚函数 纯虚函数
1.首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。 2.关于实例化一个类:有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。比如:cla转载 2015-09-11 13:50:01 · 291 阅读 · 0 评论 -
makefile 中 $@ $^ %< 使用
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。下转载 2015-09-11 13:08:39 · 376 阅读 · 0 评论 -
字符串匹配的Boyer-Moore算法
http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html转载 2015-09-11 13:14:55 · 306 阅读 · 0 评论 -
大端小端
字节序(Endian),大端(Big-Endian),小端(Little-Endian)在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要转载 2015-09-11 13:47:30 · 457 阅读 · 0 评论 -
理解Gstreamer架构_dqzhangp_新浪博客
本文给出了Gstreamer的总体设计。通过阅读本文可以了解Gstreamer的内部工作原理。本文编译自gstreamer源码中的文档,原文在源码中的位置是/gstreamer/docs/design/part-overview.txt。概述Gstreamer是一个libraries和plugins的集合,用于帮助实现各种类型的多媒体应用程序,比如播放器,转码工具,多媒体服务器等。转载 2015-09-11 14:29:09 · 451 阅读 · 0 评论 -
二维数组和指向指针的指针
一道面试题引发的问题,首先要知道[]的优先级高于*,题目:char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?为什么?直接用程序说明:#includevoid main(){ char **p,a[6][8]; p = a; printf("\n");}编译,然后就会发现通不过,报错:错误 1 error C24转载 2015-09-11 14:21:17 · 349 阅读 · 0 评论 -
5分钟搞定内存字节对齐 - hairetz的专栏 - 博客频道 - CSDN.NET
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧. /******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和转载 2015-09-11 13:02:35 · 592 阅读 · 0 评论 -
linux下vim命令详解
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,转载 2015-09-11 14:24:04 · 182 阅读 · 0 评论 -
解释一个 Makefile 文件
学习一门技术的目的就是要把它拿来使用,因此,对技术的研究不存在最高境界,只存在实不实用。Makefile的知识也杂七杂入挺多的,真讨厌GNU那帮人一天在那里没事发明新东西,虽然说都有用,但我们学起来就太麻烦啦。因此,不求把Makefile知识学完,只求能满足实际需求。而最实际的需求就是,把下面的Makefile内容看懂吧IDENT=-D_DEBUG-D_LIBC -DMIPS -DCONS_B转载 2015-09-11 13:09:49 · 584 阅读 · 0 评论 -
对象、类、对象引用、实例
对象、类、对象引用、对象的实例化对象:谈到面向对象的程序设计,关于对象的定义方面的文章非常多。但明确地给出对象的定义或说明对象的定义的往往又很少或比较模糊,本人觉得原因在于没有搞清楚狭义上的对象和广义上的对象之区别。广义上讲面向对象的程序设计中的对象泛指一切事物,对象即万物。如果你还是感到稀里糊涂、一头雾水,别急,看完下面的全部内容再回头看看就明白了。类:具有相同或相似性质的对象的抽象就是转载 2015-09-11 14:17:57 · 580 阅读 · 0 评论 -
调试利器:用GDB查看core dump
. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误).这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行,而是没有任何信息, 使得我们的调试变得困难起来. 2. gdb:有一种办法是, 我们用gdb的step,一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码,我想你转载 2015-09-11 13:05:55 · 469 阅读 · 0 评论 -
[转]关于C与C++中互相调用动态链接库的问题_卓越李子_新浪博客
[转]关于C与C++中互相调用动态链接库的问题(2012-02-22 16:15:52) 转载▼标签:杂谈分类:工作窝问题:1.写一段C++程序,编译成动态链接库后,C程序怎么访问?写一段C程序,编译成动态链接库后,C++程序怎么访问?2.写一个类,编译成动态链接库后,里面的pu转载 2015-09-11 13:52:12 · 581 阅读 · 0 评论 -
GDB学习之Core Dump-linux
很多版本的Linux都是关闭coredump功能的。可以使用ulimit –c来判断当前系统是否启用core dump。点击(此处)折叠或打开$ulimit–c0-c为内核core dump文件大小限制,0表示该系统没有开启core dump,可以使用下边的命令来开启core dump。 点击(此处)折叠或打开$ulimit–c转载 2015-09-11 14:27:00 · 341 阅读 · 0 评论 -
linux下各种变量的理解
1。环境变量可视为全局变量,与具体shell无关,是系统中固定存在的变量(值不一定都一样)。env命令可查看所有的环境变量,export命令可修改已经存在的环境变量,也可以将一个shell变量导出为环境变量,但是export的效力仅限于此次该登陆操作,也就是说下次登录就失效了。另外,环境变量和内部变量应该是一回事。 2。shell变量可视为局部变量,只对当前shell有效,子进程不转载 2015-09-11 13:04:52 · 316 阅读 · 0 评论 -
Unicode 以及UTF-8(转自廖雪峰)
字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是6转载 2015-09-11 14:00:12 · 840 阅读 · 0 评论 -
linux 文件组织结构--转载
文件系统的组织结构分析;文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、 /etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,还是大体差不多。Linux发行版本之间的差别其实很少转载 2015-09-11 14:17:25 · 436 阅读 · 0 评论 -
rir_generator在matlab中无法执行的问题
在64位系统中,需要将rir_generator.mexw32重新生成rir_generator.mexw64使用mex-setup命令原创 2017-09-01 19:04:33 · 1073 阅读 · 0 评论