![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 80
爱与奇迹的物语
这个世界上的另一个我
展开
-
systemd 下的core dump(内核转储)
如果你使用systemd,那么默认情况下即使开启了转储,当程序确实core dump 的时候,你并不会在当前(包括chdir)目录下找到core(转储)文件。下面简短地说下如何在systemd 下得到core 文件。原创 2014-03-01 21:38:25 · 19497 阅读 · 0 评论 -
内部排序算法合集(快排、归并、插排、堆排)
如题,一些常用的内部排序算法。所谓内部排序也就是排序之前需要把所有的数据都一次性读入内存,适用于小数据量(不会导致内存条爆炸)的排序。原创 2014-01-28 20:42:29 · 4258 阅读 · 0 评论 -
为什么两个不确定值的浮点数无法直接比较是否相等
C语言贴吧看到的:首先,为了让代码清楚一点,把楼主耍小聪明的伎俩去掉:程序运行的结果是执行了if (a != a) 语句块的内容。a = a / a 没什么好奇怪的,关于执行的结果我开始是这么认为的:a = a / a 完了之后a 的值是NaN,表示不是任何数(后来我发现,对于大多数环境来说,这个没有定死)。NaN 的32 位精度储存是这样的:原创 2012-06-07 21:48:35 · 5370 阅读 · 0 评论 -
「离散数学」 打印任意命题公示的真值表和主范式
课本是高等教育出版社出版的《离散数学及其应用》。程序会自动分析输入的表达式,并且列出真值表,最后打印出主析取范式和主合取范式,最多支持256 个变元。主要用到的算法:中缀表达式转后缀表达式、后缀表达式求值还有一个二进制加法模拟。原创 2012-09-23 14:03:43 · 4346 阅读 · 0 评论 -
少年,你的一个Hello World 有多小?
起因如上……额,先把平台放一下,因为有些代码设计系统架构,如果你是x86 的架构需要自己修改代码:原创 2013-10-07 11:10:18 · 1674 阅读 · 0 评论 -
奇怪,Linux 3.11.2-1-ARCH x86_64 居然还是可执行堆栈?
这个是系统架构,下面是测试代码「hello.c」:char shellCode[] = "\xeb\x1a\x5e\x48\x31\xff\x48\x31\xd2\x48\x31\xc0\x66\xff\xc7\xb2\x0d\xb0\x01\x0f\x05\x48\x31\xff\xb0\x3c\x0f\x05\xe8\xe1\xff\xff\xff\x48\x65\x6c\x6c\x6原创 2013-10-07 20:43:36 · 1865 阅读 · 0 评论 -
为什么操作int 类型的指令要快于操作short 的,却可能慢于操作char 的
唔,写这篇博客的原因是给人解释了半天,觉得不复制出来整理下做成一篇blog 可惜了。。。。原创 2013-12-30 22:35:35 · 3381 阅读 · 0 评论 -
「C++」一个brainfuck 语言解释器
在ArchWiki 上的Arch is the best 项目上发现的brainfuck,看了看wikipedia 发现语法非常简单,于是写了一个brainfuck 的解释器。原创 2014-04-16 13:21:20 · 5201 阅读 · 1 评论 -
拆一下C++ 的对象模型 (现在来看主要拆的是G++的)
1. 关于类中的成员数据和成员函数:#include using namespace std;class ClassA {public: ClassA () { } ~ClassA () { } void publicFunc () { } virt原创 2012-06-10 14:55:32 · 1567 阅读 · 0 评论 -
只是写几个Hello World
白天坐在电脑前面无所事事。晚上也懒懒的,魔兽世界5 万击杀了,也不怎么想玩游戏。猪是怎么死的?是无聊死的。file://hello1.cchar s[]="\x00\x48\x65\x6C\x6C\x6F\\x2C\x20\x77\x6F\x72\x6C\x64\x21\x0A";main(i){putchar(s[i++])&&main(i);}原创 2012-08-03 21:00:39 · 929 阅读 · 0 评论 -
挑战一个经典的算法题!(坑爹的求和)
在C语言论坛看到的一个帖子本来绞尽脑汁也毫无眉目,因为不用if 不可能的,我只能想到递归但是实在想不出不用if 怎么来递归,后来想起来看过《短码之美》,书中介绍短码技巧的时候说过&&短路运算,就用了,果然成功了!intfunc (int n, int *p) { n && func (n-1, p); return *原创 2012-06-01 14:07:07 · 756 阅读 · 0 评论 -
char (*a())[8] 是什么
也是C语言论坛看到的分析:1. a是标识符,所以先看包涵标识符的括号,先看 (*a()) ● (*a())中标识符的右边是小括号(),这个后缀表示a 是一个函数 ● (*a())中标识符的左边是星号*,这个前缀表示a 函数返回一个指针2. 把(*a()) 作为整体,姑且称作标识符T,重复[1] 的步骤,分析char T原创 2012-06-01 12:41:56 · 2009 阅读 · 0 评论 -
Binary Makeself
本文展示了Linux 系统下的二进制的Makeself 的制作:将数据和对数据的操作同时包含在一个巨大的可执行文件当中,也引出了C 代码中操作数据文件的技巧——不使用文件操作而直接使用指针来操作目标文件中的数据。原创 2015-04-25 11:57:36 · 2242 阅读 · 1 评论