![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 83
Daemon_1994
这个作者很懒,什么都没留下…
展开
-
调试应用程序内存中的神秘问题
IBM i 堆内存调试助手无论在哪种平台上,调试应用程序内的堆内存问题都极为困难。幸运的是,IBM i 6.1 及更高版本提供了相关支持,能帮助用户在 ILE 环境内调试堆内存问题。本文介绍了堆内存是什么,还展示了通过多种 ILE 语言使用堆内存的正确方法,这些语言包括 C、C++、RPG、COBOL 和 CL。此外,本文还描述了使用堆内存时可能出现的一些常见问题,以及如何原创 2015-01-26 23:29:17 · 1412 阅读 · 0 评论 -
C++的几个问题
这几天写了两篇博客,很多老朋友关切,问了一些问题。 比如说,怎么又有时间关心技术了?是不是没那么忙了?我说,其实一样的忙,只不过兴致所致,牺牲一些休息时间罢了。说不定一个猛子扎下去,又是长时间潜水。 再比如说,怎么还在搞C++?我说,我没搞C++,一直以来都是C++在搞我们,我只不过发表一点被搞以后的感想。 有人问,你要讲的那三个C++特性,网上资料转载 2014-12-27 14:22:11 · 642 阅读 · 0 评论 -
C 的回归
C 的回归周末出差,去另一个城市给公司的一个项目解决点问题。回程去机场的路上,我用手机上 google reader 打发时间。第一眼就看到孟岩大大新的一篇:Linux之父话糙理不糙 。主题是 C 与 C++ 的语言之争。转到刘江的 blog 下读完了Linux之父炮轰C++:糟糕程序员的垃圾语言 大呼过瘾。立刻把链接短信发给了几个朋友。语言之争永远是火药味十足的话题。尤其是原创 2014-12-27 14:59:38 · 1053 阅读 · 0 评论 -
【问底】徐汉彬:PHP7和HHVM的性能之争
摘要:近日,PHP7和HHVM的性能之争成为了一个讨论热点,但毫无疑问,它们都在提升PHP执行性能方面取得了突破性的进展。本期《问底》,徐汉彬将为大家科普和介绍它们的性能之争。【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。最近,PHP7和HHVM的性能之争成为了一个讨论热点,它们都在提升原创 2014-12-27 21:45:17 · 825 阅读 · 0 评论 -
C 语言有什么奇技淫巧?
http://www.zhihu.com/question/27417946转载 2015-01-17 19:49:18 · 733 阅读 · 0 评论 -
linus教你写链表
Two star programming2013-01-08 • C, Torvalds, Algorithms • 46 CommentsA few weeks ago Linus Torvalds answered some questions on slashdot. All his responses make good reading but one in par转载 2015-01-17 13:39:43 · 664 阅读 · 0 评论 -
C++平台对指针的处理
今天上午在自习室复习C++时突然想到了一些问题,分享给大家,希望对广大的C/C++初学者有所启迪和收获,下面开始谈谈我的看法与理解。直接上代码:#include using namespace std;int main(){float f=34.5;float * fPtr=&f;int* iPtr=(int*)&f;原创 2014-01-10 13:58:55 · 746 阅读 · 0 评论 -
glibc 2.21 发布,安全修复和性能提升
glibc 发布 2.21 版本,下载地址:http://ftp.gnu.org/gnu/libc/glibc-2.21.tar.gz详细改进内容:* The following bugs are resolved with this release: 6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171原创 2015-02-08 15:58:24 · 1010 阅读 · 0 评论 -
总结
知道一个函数返回一个指针时,一定要注意返回的这个指针的类型是什么,即这个指针指向的是什么类型原创 2015-01-02 01:31:53 · 422 阅读 · 0 评论 -
缓冲区溢出攻击
缓冲区溢出攻击 缓冲区溢出(Buffer Overflow)是计算机安全领域内既经典而又古老的话题。随着计算机系统安全性的加强,传统的缓冲区溢出攻击方式可能变得不再奏效,相应的介绍缓冲区溢出原理的资料也变得“大众化”起来。其中看雪的《0day安全:软件漏洞分析技术》一书将缓冲区溢出攻击的原理阐述得简洁明了。本文参考该书对缓冲区溢出原理的讲解,并结合实际的代码实例进行验证。不过即便如此,完成原创 2015-01-01 16:00:40 · 1147 阅读 · 0 评论 -
对指针、结构化的一些思考
为什么指针比goto高级?指针:变量指针、函数指针 其中函数指针并不仅仅是goto那样任意的,指针是结构化的,比如函数指针等等的 goto是一种线性的,随意指向,随意改变程序流向,转去执行语句标号所标识的语句。,因此是低级的,非结构化的,也是在高 级程序设计思想中不倡导使用的原创 2015-02-12 14:29:32 · 595 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别原创 2015-01-24 12:58:35 · 655 阅读 · 0 评论 -
#ifndef #define #ifdef 的区别与联系
文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:文件中的#ifndef 头件的中的原创 2015-01-24 13:00:27 · 1364 阅读 · 1 评论 -
NULL到底是什么
/* A null pointer constant. */#if defined (_STDDEF_H) || defined (__need_NULL)#undef NULL /* in case has defined it. */#define NULL ((void *)0)#endif /* NULL not defined and or need NUL原创 2015-01-20 19:57:47 · 1118 阅读 · 0 评论 -
C语言性能优化
(1)数据对齐是否更快?从学习数据结构的第一天起,书上就告诉我们,数据对齐可以使得访问速度更快,我心里也一直有这样一个印象,但是对其具体原因,一直不太清楚。借着最近TreeLink大赛之后大家对于性能优化痴迷的机会,我也来细细研究下这个问题。首先来看下面这段代码:12345678910原创 2015-03-29 11:41:33 · 2390 阅读 · 0 评论 -
理解 chroot
通过编写 chroot 来认识 chroot 发挥的作用和它带来的好处chroot 在 Linux 系统中发挥了根目录的切换工作,同时带来了系统的安全性等好处。本文通过编写 chroot 来理解 chroot 的作用和好处,这不仅有助于更好的使用 chroot,同时加深了对 Linix 系统初始 RAM 磁盘工作的认识。0 评论:王 华东, 自由原创 2015-03-24 15:58:40 · 1323 阅读 · 0 评论 -
技术路线的选择重要但不具有决定性
技术路线的选择重要但不具有决定性2008-11-07 15:18 70026人阅读 评论(167) 收藏 举报微软javac#语言.net技术人最近微软在技术上连续有大动作,在PDC上发布了Windows Azure云计算平台,预告了Visual Studio 2010、.NET 4.0和C# 4.0。如果放在几年前,我相信微软粉丝们一定是欢声雷动,不过这次情况有点不太转载 2014-12-27 14:06:06 · 685 阅读 · 0 评论 -
Linux之父话糙理不糙
Linus Torvalds曾经在十多年前尝试用C++来开发Linux内核,由于种种原因,很快失败了。自那时起他就不时表达对C++的不满。刘江blog上的记录的这个事件只是最近的一次而已。尽管言辞激烈,但其实话糙理不糙。 时至今日,在一般的场合下,C和C++语言的主要用途就是系统级软件的开发。具体地说,C/C++写平台、工具和基础库,支持高层的语言来完成应用逻辑。 在9月份《程序员转载 2014-12-27 13:58:36 · 526 阅读 · 0 评论 -
关于位结构体
含位域结构体的sizeof:前面已经说过,位域成员不能单独被取sizeof值,我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。使用位域的主要目的是压缩存储,其大致规则为:1) 如果相邻位域字段的类型相同,且其位宽之和小于类转载 2014-12-20 16:11:42 · 469 阅读 · 0 评论 -
glib中hash table
Glib是一个C语言编写的库,它本身是Gnome的一个部分,后来Glib剥离出来,它为Gnome提供了一些操作字符串和常用数据结构的工具函数。这些好的工具函数既然可以提供给gnome,使用,自然也可以提供给我们使用。(靠,这逻辑,怎么这么像 和尚摸的,我自然也摸的,晕死啊)。最近看到我们老大用了Glib的hash表,在工期紧急的情况下解决了一个功能扩展的问题,所以我也就动了玩玩Glib的心思。转载 2014-12-20 16:48:24 · 1110 阅读 · 0 评论 -
附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯分类: 微软、谷歌、百度等公司经典面试100题_20112012-09-10 00:34 896人阅读 评论(0) 收藏 举报microsoft算法数据结构google面试微软from:http://blog.csdn.net/sj13051180/article/转载 2014-12-21 09:59:06 · 2429 阅读 · 0 评论 -
C语言结构体里的成员数组和指针
单看这文章的标题,你可能会觉得好像没什么意思。你先别下这个结论,相信这篇文章会对你理解C语言有帮助。这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接。微博截图如下。我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章。为了方便你把代码copy过去编译和调试,我把代码列在下面:123456转载 2015-01-10 15:49:58 · 626 阅读 · 0 评论 -
C技巧:结构体参数转成不定参数
下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏“__VA_ARGS__”,下面这段程序可以在GCC下正常编译通过:1234567891011121314151617181920#include #def转载 2015-01-10 15:54:34 · 569 阅读 · 0 评论 -
百度2013校园招聘笔试题(含自己整理的答案)
一:简答题(30)1:数据库以及线程发生死锁的原理及必要条件,如何避免死锁答:产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3)不剥夺条件:转载 2014-12-20 16:45:32 · 603 阅读 · 0 评论 -
可变数组与结构体
可变数组只能位于结构体最后一个域struct sdshdr { int len; int free; char buf[];};并且sizeof(struct sdshdr)的值不包括可变数组的长度,即 sizeof(struct sdshdr)=8原创 2014-12-21 18:58:18 · 905 阅读 · 0 评论 -
堆上申请数组
方法一:通过数组指针申请连续的空间#include 2 #include 3 int main() 4 { 5 // 申请a[3][2]三行两列二维数组 6 int (*a)[2] = (int(*)[2])malloc(sizeof(int)*3*2); 7 a[0][0] =1; 8 a[0][1] =2; 9 a[1][0] =原创 2015-01-10 13:36:57 · 1970 阅读 · 1 评论 -
如何学好C语言
有人在酷壳的留言版上询问下面的问题keep_walker :今天晚上我看到这篇文章。http://programmers.stackexchange.com/questions/62502/small-c-projects我也遇到了和提问的老外一样的问题。。能给像遇到这样烦恼的程序员一点建议嘛?谢谢!我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程转载 2015-01-10 15:47:55 · 605 阅读 · 0 评论 -
C语言全局变量那些事儿
作为一名程序员,如果说沉迷一门编程语言算作一种乐趣的话,那么与此同时反过来去黑一门编程语言就是这种乐趣的升华。今天我们就来黑一把C语言,好好展示一下这门经典语言令人抓狂的一面。我们知道,全局变量是C语言语法和语义中一个很重要的知识点,首先它的存在意义需要从三个不同角度去理解:对于程序员来说,它是一个记录内容的变量(variable);对于编译/链接器来说,它是一个需要解析的符号(symbo转载 2015-01-10 15:55:56 · 1218 阅读 · 0 评论 -
深入理解C语言
Dennis Ritchie 过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言,今天很多语言都受到C的影响,C++,Java,C#,Perl, PHP, Javascript, 等等。但是,你对C了解吗?相信你看过本站的《C语言的谜题》还有《谁说C语言很简单?》,这里,我再写一篇关于深入理解C语言的文章,一方面是缅怀Dennis,另一方面是转载 2015-01-10 15:52:29 · 420 阅读 · 0 评论 -
[分享]Linux Glibc库严重安全漏洞修复通知 (重要)
尊敬的阿里云ECS用户: 您好,日前Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞,漏洞编号为CVE-2015-0235。黑客可以通过gethostbyname系列函数实现远程代码执行,获取服务器的控制权及Shell权限,此漏洞触发途径多,影响范围大,请大家关注和及时临时修复,后续我们会尽快更新镜像修复。请知晓。 一、 漏洞原创 2015-01-31 02:56:21 · 1440 阅读 · 0 评论 -
用C设计,用C++编码
昨天晚上看到刘江的blog又补充了好几大段,今天早上又看到云风的人肉trackback,果然还是这种话题引人关注。 云风先是提了一下所谓C++带来的思想包袱(文言文曰“心智包袱”)问题,然后重重地引用了Linus的话:“关键是设计”,其实他是在暗示:好的设计C同样能做出来,不劳C++大驾;而C++一旦出面,就要让人背上额外的思想包袱。 我明确地表个态,在系统级程序设原创 2015-01-31 20:50:45 · 859 阅读 · 0 评论 -
为什么说指针是 C 语言的精髓?
简单来说,因为C就那点破feature,如果你把指针干掉,那这语言就完了。相反,如果你干掉struct,干掉union,干掉数组,甚至你把if-while都干掉,留下malloc和goto,则最多就是程序难写一点而已。所以这就是为什么C语言的精髓是指针了,因为他只有指针可以用了。把struct和数组都砍掉之后只能用char*让后到处指针运算和强制转换了,因为没有了内存布原创 2015-02-02 14:02:56 · 2064 阅读 · 1 评论 -
用C设计,用C++编码
昨天晚上看到刘江的blog又补充了好几大段,今天早上又看到云风的人肉trackback,果然还是这种话题引人关注。 云风先是提了一下所谓C++带来的思想包袱(文言文曰“心智包袱”)问题,然后重重地引用了Linus的话:“关键是设计”,其实他是在暗示:好的设计C同样能做出来,不劳C++大驾;而C++一旦出面,就要让人背上额外的思想包袱。 我明确地表个态,在系统级程序设转载 2014-12-27 14:03:53 · 552 阅读 · 0 评论 -
Linux之父炮轰C++:糟糕程序员的垃圾语言
【图灵图书推荐】Linux程序设计(第3版) 众所期待的程序设计圣经【写在前面】此文贴出后,引起了大家的较多关注,是意料之中的事情。毕竟,C、C++、Linux之父,都是大家最最熟悉的东西。但是许多同学把精力放在纯粹语言优劣的争论上,就没有太大意思了。这场争论的主角之一,微软的Dmitry Kakurin有一句话非常正确:“这是一种信仰问题。因此,任何讲道理和争论原创 2014-12-27 13:57:51 · 1488 阅读 · 0 评论 -
从底层理解Python的执行
摘要:是否想在Python解释器的内部晃悠一圈?是不是想实现一个Python代码执行的追踪器?没有基础?不要怕,这篇文章让你初窥Python底层的奥妙。【编者按】下面博文将带你创建一个字节码级别的追踪API以追踪Python的一些内部机制,比如类似YIELDVALUE、YIELDFROM操作码的实现,推式构造列表(List Comprehensions)、生成器表达式(generator原创 2015-05-29 21:12:37 · 4303 阅读 · 0 评论