随笔分类 -  C Language Base

摘要:有一次面试给了我一台笔记本,要求现场求素数,虽然感觉有点突兀但是总比上次要求用笔在A4纸张上实现开平方根函数要像样的多。 我没有立马开始写,而是在那里发呆,我在想他想从我这里了解到什么? 至少这个程序需要考虑到以下几个问题: 1、程序原理上的正确性,至少结果必须是100%正确的。 2、程序的性能,求 阅读全文
posted @ 2019-04-02 11:57 mcdull^0^ 阅读(220) 评论(0) 推荐(0)
摘要:机器字节存储有大端小端模式之分 大端模式与小端模式 大端模式(Big-endian)是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中. 小端模式(little-endian)是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。 一般涉及到网络编程的时候可能涉及到 阅读全文
posted @ 2019-04-02 11:08 mcdull^0^ 阅读(576) 评论(0) 推荐(0)
摘要:前段时间搞x264编码测试,传参的时候需要告诉编码器我的原始数据格式是什么,其中在x264.h头文件中定义了如下一堆类型。 但是这个定义只是对于这个应用而言,对于其他的应用或者场景中,相同的数据格式却有着不同的名字,于是为了弄懂他们的差别关系,检索了一大堆信息,整理了一个图文出来如下。 首先要介绍的 阅读全文
posted @ 2019-03-28 18:13 mcdull^0^ 阅读(32320) 评论(3) 推荐(3)
摘要:《C陷阱与缺陷》上讲到一个很有趣的事情, 当计算机启动时,硬件将调用首地址为0位置的子例程,要设计出一个C语句,显示的调用它, 最后得出的语句是如下形式 其思想原理是将0地址当成一个指针,强制转换成一个函数指针,这个函数的输入参数是void返回值也是void,然后解引用调用这个函数指针去执行这个函数 阅读全文
posted @ 2019-03-28 16:55 mcdull^0^ 阅读(793) 评论(0) 推荐(0)
摘要:作为一个天天和代码“约会”的人来说i++和++i这玩意再熟悉不过了,因为使用频率太高了。虽然如此,但也未必见得我们真的了解她,不妨猜猜下面的输出结果。 1 #inlcude 2 3 int main(void) 4 { 5 int i = 0, j = 0; 6 7 ... 阅读全文
posted @ 2016-01-17 13:42 mcdull^0^ 阅读(270) 评论(0) 推荐(0)
摘要:注意:GCC在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库,可在编译时加上-static选项,强制使用静态链接库。 gcc -static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态库。 gcc -share 尽量使用动态库,生成的文... 阅读全文
posted @ 2016-01-17 00:40 mcdull^0^ 阅读(227) 评论(0) 推荐(0)
摘要:思考:1、 如何将一个数据中的多个不连续位清位?1、 如何将一个数据中的多个不连续位置位?1、 如何反转一个数据中的多个不连续位(1->0, 0->1)?基础知识:C 语言位操作 1 /***********位与***********/ 2 /************************/ 3 ... 阅读全文
posted @ 2016-01-15 01:05 mcdull^0^ 阅读(236) 评论(0) 推荐(0)
摘要:目的:实现两个变量值的交换(以int 类型为例)。方法一:使用临时变量。优点:安全,适合任何类型数据交换,无溢出风险。缺点:保守、效率不高,需要使用第三方临时变量(栈空间)。1 void swap_value( int *var1, int *var2)2 {3 int tmp = 0;4 5 ... 阅读全文
posted @ 2016-01-15 00:27 mcdull^0^ 阅读(244) 评论(0) 推荐(0)