随笔分类 -  Coding-C++

Primary skills
摘要:拷贝控制是什么 C++ allows the programmer to define how objects are to be copied, moved, assigned and destroyed. Together these are known as copy control. 拷贝控 阅读全文
posted @ 2016-12-08 10:22 郝壹贰叁 阅读(671) 评论(0) 推荐(0) 编辑
摘要:封装 Encapsulation、继承 Inheritance、多态 Polymorphism 菜鸡三特征 菜鸟教程阅读笔记,有没有什么重难点 Since C++ 类 & 对象。 一、封装性 基本概念 到目前为止,我们已经对 C++ 的类和对象有了基本的了解。下面的列表中还列出了其他一些 C++ 类 阅读全文
posted @ 2016-12-07 15:46 郝壹贰叁 阅读(620) 评论(0) 推荐(0) 编辑
摘要:迭代器(Iterator)是指针(pointer)的泛化,它允许程序员用相同的方式处理不同的数据结构(容器) 性质 depends on various containers,因为其实现就是不同的容器实现各自的迭代器. 需要躲过的坑,野指针。 性能预览 一、基本性质 访问方式 遍历数据 contai 阅读全文
posted @ 2016-12-02 07:33 郝壹贰叁 阅读(317) 评论(0) 推荐(0) 编辑
摘要:关联容器 和 顺序容器 的本质差别在于: 关联容器 通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 Goto: C++ Primer 第十章 关联容器 关联式容器依据特定的排序准则,自动为其元素排序。排序准则以函数形式呈现,用来比较元素值(value)或元素键 阅读全文
posted @ 2016-12-01 18:33 郝壹贰叁 阅读(483) 评论(0) 推荐(0) 编辑
摘要:序列容器 C++ Standard Library 一、特点 并没怎么用面向对象的特性。 For efficiency reasons, STL is not object-oriented: Makes little use of inheritance, and Makes no use of 阅读全文
posted @ 2016-11-27 19:24 郝壹贰叁 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:记录C/C++语言相关的问题。 算法可视化:https://visualgo.net/en <data structure and algorithm in c++> By Adam 有免费电子版 1. while( ) 与 Ctrl+D Ctrl+D后,默认还是要执行完后面的程序。 void mu 阅读全文
posted @ 2016-11-26 17:15 郝壹贰叁 阅读(349) 评论(0) 推荐(0) 编辑
摘要:Qt5处于过度阶段,架构繁琐,学习成本不低。尤其是UI代码竟然被重写,变了天。 Qt中的c++可能是连接OPENCV与QML的一个不错的桥梁,在此学习这部分实用的技术。 Reference: http://blog.csdn.net/foruok/article/details/32698603 一 阅读全文
posted @ 2016-11-24 08:03 郝壹贰叁 阅读(1998) 评论(0) 推荐(1) 编辑
摘要:C++中的C特性 菜鸡基础 一、版本历史 C++的基础也可以理解为C的基础。这里主要是复习下其中的相对简单的基础部分。 C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。 C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 阅读全文
posted @ 2016-11-21 13:29 郝壹贰叁 阅读(437) 评论(0) 推荐(0) 编辑
摘要:以两个链接打开序幕,镇楼。 c++神之博客链表:那些C++牛人的博客 各个branch的学习指导:程序员技术练级攻略 A Simple Makefile Tutorial Official menu: GNU make Ref: 山寨内核Makefile之“天龙八部” 一个简单例子: 一个复杂例子: 阅读全文
posted @ 2015-03-17 18:18 郝壹贰叁 阅读(248) 评论(0) 推荐(0) 编辑
摘要:预处理 gcc -E main.c //只有链接处理,没有出错检查 函数式宏定义 1.效率问题 2.函数代换 3.宏的变换 内联函数 inline关键字告诉编译器,这个函数的调用要尽可能快,可以当普通的函数调用实现,也可以用宏展开的办法实现。 总结:没有call指令调用MAX函数,MAX函数的指令是 阅读全文
posted @ 2012-11-15 15:58 郝壹贰叁 阅读(267) 评论(0) 推荐(0) 编辑
摘要:数值变量 程序加载运行时,.rodata段和.text段通常合并到一个Segment中,操作系统将这个Segment的页面只读保护起来,防止意外的改写。.data和.bss在加载时合并到一个Segment中,这个Segment是可读可写的。 .bss段和.data段的不同之处在于,.bss段在文件中 阅读全文
posted @ 2012-11-15 15:43 郝壹贰叁 阅读(251) 评论(0) 推荐(0) 编辑
摘要:extern and static 虽然在stack.c中定义了函数push,但这个函数只具有Internal Linkage,只有在stack.c中多次声明才表示同一个函数,而在main.c中声明就不表示它了。 如果把stack.c编译成目标文件,函数名push在其中是一个LOCAL的符号,不参与 阅读全文
posted @ 2012-11-14 16:36 郝壹贰叁 阅读(524) 评论(0) 推荐(0) 编辑
摘要:nm 查看符号表 main.c stack.c 目标文件的虚拟地址 未链接的.o文件,是否有必要“有地址” 没必要。 链接后才有必要。 关于这个问题,可以直接联系到”ARM的MMU的原理“。 三种目标文件: 从上图可知: readelf ELF文件由四部分组成,分别是: ELF头(ELF heade 阅读全文
posted @ 2012-11-14 15:21 郝壹贰叁 阅读(759) 评论(0) 推荐(0) 编辑
摘要:之后会涉及到:程序表头用来创建进程映像。那么进程的本质是什么? 进程间通信的本质是什么? 深刻理解 Linux 进程间通信(IPC) Linux 环境进程间通信(一): 管道及有名管道 Linux 环境进程间通信(二): 信号(上) Linux 环境进程间通信(二): 信号(下) Linux 环境进 阅读全文
posted @ 2012-11-14 12:46 郝壹贰叁 阅读(476) 评论(0) 推荐(0) 编辑
摘要:Outline 程序格式(风格)的变换:indent indent -kr -i8 main.c -kr选项表示K&R风格,-i8表示缩进8个空格的长度。如果没有指定-nut选项,则每8个缩进空格会自动用一个Tab代替。 printf调试 程序中除了一目了然的Bug之外都需要一定的调试手段来分析到底 阅读全文
posted @ 2012-11-14 11:13 郝壹贰叁 阅读(433) 评论(0) 推荐(0) 编辑
摘要:Outline 打开Wall警告 一个好的习惯是打开gcc的-Wall选项,也就是让gcc提示所有的警告信息,不管是严重的还是不严重的,然后把这些问题从代码中全部消灭。比如把上例中的printf("Hello, world.\n");改成printf(0);然后编译运行:gccmain.c 阅读全文
posted @ 2012-11-13 17:45 郝壹贰叁 阅读(2297) 评论(0) 推荐(0) 编辑
摘要:if ( 无所不能的c语言 + 面向对象思维 == c++ ) { printf("Select what?\n"); } object-oriented programming now... 我们关心的是:将一个自定义的结构体初始化,而结构体要有自己独立的初始化方式。那么,new()就要有一定的通 阅读全文
posted @ 2011-11-09 11:17 郝壹贰叁 阅读(1437) 评论(6) 推荐(0) 编辑
摘要:“山寨,它不仅是个名词,更多是个动词。”内核的Makefile谈不上博大精深,但也是构思精巧。层层编译,递归链接,最后才生成个zImage。在此设计个比较通用的 Makefile,秉承"实践出真知"的精神,在山寨的过程中细细咀嚼。 第一部分 -->我们的编译工具是: 为啥是个 "?=" ? 这叫条件 阅读全文
posted @ 2011-07-15 15:02 郝壹贰叁 阅读(683) 评论(0) 推荐(0) 编辑
摘要:技巧一、小结构体地址推断大结构体地址 关于进程调度的thread_union结构,有些趣味。 这里做个小模拟: “一个结构,两种用法”,重要的是思想,细细咀嚼,回味无穷。 再说下结构体,不得不提的是那个内核界早已闻名的巨星:宏contain_of (),先贴个代码: 宏展开后如下,简单明了,无需多言 阅读全文
posted @ 2011-06-24 18:35 郝壹贰叁 阅读(687) 评论(0) 推荐(0) 编辑
摘要:提及了这个蛋疼的问题,一个被烤焦的问题:默认情况下,在Intel处理器,是有符号的;arm处理器上,却是无符号。 这里还是以arm架构为例,先来个没有任何争议的 n<127 让我们越过这个signed or unsigned"是非界限",试个 n<129 看来是一模一样。既然默认是unsigned 阅读全文
posted @ 2011-06-24 09:52 郝壹贰叁 阅读(1947) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示