随笔 - 997
文章 - 5
评论 - 181
阅读 -
300万
随笔分类 - C/C++ languare
备忘遇到的C语音基本问题
ubuntu 16.04 下更换boost版本
摘要:如果是新机器,没装过boost,那么直接一条命令 头文件一般安装在 下面有一个目录boost,里面是头文件。而库文件一般都放在 目录下。比如libboost_system.a文件。 一 如何查看当前安装的boost版本 通过上面的命令,你就可以发现boost的版本了,查看结果可能如下: 二 如何删除
阅读全文
Linux 环境下使用g++编译C++
摘要:单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 程序使用定义在头文件 iostream 中的 cout,向标准输出写入一个简单的字符串。该代码可用以下命令编译为可执行文件: 编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为
阅读全文
cc、gcc、g++、CC的区别和联系
摘要:gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。 cc是Unix系统的C Compiler,而g
阅读全文
C++ vector 容器浅析
摘要:一、什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 二、容器特性 1.顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以
阅读全文
c++中的.hpp文件
摘要:http://blog.chinaunix.net/uid-24118190-id-75239.html hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。 而实现代
阅读全文
linux内核中GNU C __attribute__ 机制的实用
摘要:很多东西,只看看是不行的,要想深入的去了解一个东西,一定要去不断地学习,实践,反思。 说白了就是要去打磨。 在linux中,最近遇到了这样一个定义: int board_usb_init(int index, int usb_init_type) __attribute__((weak, alias
阅读全文
一个简单的C语言题背后的故事
摘要:最近看到了一个C语言问题,是要计算出这个函数的输出: #include <stdio.h> int Test(int x,int y, int z){ printf("x,y,z:%d,%d,%d\n",x,y,z); return 0;} int main(){ int a=0; Test(a++
阅读全文
了解甚少的GNU C的__attribute__ 机制
摘要:平时忙着赶项目,很多东西都是不求甚解,当工作中遇到的一些比较***钻的问题时,才发现自己和那些大牛的 差距 内功。熟练码农和码神的最大区别估计就是内功是否深厚了。在自我反思的过程中,也要逐渐的积累一些很 基本的知识,争取能烂熟于心,这样,才能做出高质量的产品。 最近遇到了一个__attribute__
阅读全文
C语言中volatile的作用和使用方法
摘要:在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。 通常,volatile关键字用来阻止(伪)编译器认为的无法“被代码本身”改变的代码(变量/对象)进行优化。如在C语言中,volatile关键字可以用 来提醒编
阅读全文
指针数组和数组指针的区别
摘要:定义: 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。 使用方法: int* a[4] 指
阅读全文
指针函数与函数指针的区别
摘要:在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,最简单的辨别方式就是看函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。 今天我们从头把它搞清楚 首先它们之间的定义: 1、指针函数是指带指针的函数,即本质是一个函数,函数返回类型是某一类型的指针。 类型标
阅读全文
C语言判断大小端的几种方法
摘要:在操作系统中,经常会用到判断大小端,很多面试题中也会经常遇到,以前的时候没有总结过,这里总结一下。 以后用到了就直接可以用了。 所谓的大小端,大致的解释意思就是: 【大端模式】 CPU对操作数的存放方式是高地址存放低位,低地址存放高位。 【小端模式】CPU对操作数的存放方式是高地址存放高位,低地址存
阅读全文
C语言中几个常用数学计算函数ceil(), floor(), round()的用法
摘要:最近在实现算法的过程中,遇到了使用几个数学计算函数,感觉挺有意思,就记下来 方便以后使用。 ceil(x)返回不小于x的最小整数值(然后转换为double型)。 floor(x)返回不大于x的最大整数值。 round(x)返回x的四舍五入整数值。 代码: 运行结果:
阅读全文
C语言中全局结构体指针隐含的错误
摘要:前天在嵌入式系统上,调试一个数组的全局变量时,发现该变量一直会动态变化。深入分析, 才发现该全局结构体没有申请内存,而是用了一个指针。这种情况编译器是检查不出来的,在linux 上运行会挂掉,但是在裸系统上运行不会挂死。 错误的例子: 正确的方法: 总结反思:C语言是很博大精深的,里面很多东西要深入
阅读全文