编程
文章平均质量分 90
HaveFunInLinux
这个作者很懒,什么都没留下…
展开
-
编程的智慧
转载至:http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy/转载说明:来自王垠的博客,作者极牛,博客也有相当多的干货。编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简转载 2015-12-02 12:57:12 · 611 阅读 · 0 评论 -
成为一名更好的程序员:如何阅读源代码
转载说明:其实还有一点可以利用,就是通过工具来筛理对应代码,包括静态和动态方式。来源:编程派 原文:http://pythonpracticeprojects.com/how-to-read-source-code.html作者: Louie Dinh 译文:http://www.codingpy.com/article/become-better-programmer-by-r转载 2015-12-02 12:49:00 · 912 阅读 · 1 评论 -
初学者程序语言的选择
本文转载至:http://beforewind.blogspot.com/2012/06/blog-post.html很多人都关心这个问题,来信问我。我一直想总结一下经验,今天终于开始写这篇文章。我的文章一般都会在发表之后有所改动,所以如果转载请只给出链接,以便得到最新的版本。面向对象语言不适合入门有的人抱怨很多学校开始教授 Java 而不是以前的 C转载 2015-03-08 17:39:35 · 1122 阅读 · 0 评论 -
预处理运算符##和#在Linux内核中的用法
转载至:http://rock3.info/blog/2013/10/24/%E9%A2%84%E5%A4%84%E7%90%86%E8%BF%90%E7%AE%97%E7%AC%A6%E5%92%8C%E5%9C%A8linux%E5%86%85%E6%A0%B8%E4%B8%AD%E7%9A%84%E7%94%A8%E6%B3%95/在Linux Kernel中,经常看到“##”和“#转载 2015-03-05 14:37:39 · 1569 阅读 · 0 评论 -
每个程序员都可能犯过的10个错误
本文是码农网原创翻译,转载请看清文末的转载要求,谢谢合作!本文列出的10个错误,并不局限于C#,Delphi,JavaScript等——几乎涵盖了所有的编程语言。是不是大吹大擂,欢迎各位品鉴……1.面向编译器写代码,而不是面向用户当人们使用编译器创建自己的app时,在把自己的想法诉诸于机器代码的过程中,常常会将那些可以使得编程更为简单却又冗长的语法遗忘于脑后。无论你使用的是单字转载 2015-03-05 13:43:55 · 627 阅读 · 0 评论 -
预处理器 - 记号传递操作符##
原文译至:http://complete-concrete-concise.com/programming/c/preprocessor-the-token-pasting-operator##可能是最不为人所知,也最缺少文档的预处理器操作符了。记号传递操作符(##) 仅仅删除它周围的所有空格和将非空的字符连接到一起。它只能用于一个宏定义中,它被用于创建新的记号。它不能是替换文本里翻译 2014-08-14 17:22:44 · 1072 阅读 · 0 评论 -
ASCII字符表(包含所有控制符)
转载至:http://blog.csdn.net/shuxiao9058/article/details/7172408表 A-1 DEC 多国字符集十六进制代码MCS 字符或缩写DEC 多国字符名ASCII 控制字符 100NUL空字转载 2015-03-05 14:17:08 · 3365 阅读 · 0 评论 -
debug 宏追加打印的小例子
#include #ifdef DEBUG#define debug(args) printf args#else#define debug(args)#endifint main(void){ int i=1; debug(("hello,world:%d\n", i)); return 0;}原创 2015-03-05 14:40:22 · 625 阅读 · 0 评论 -
《GPU的革命》文章整理
本文转载至:http://blog.csdn.net/openhero/article/details/42131771整理几年前写的文章,或许对初学CUDA编程的朋友有帮助:CUDA 线程执行模型分析(一)招兵------ GPU的革命CUDA 线程执行模型分析(二)大军未动粮草先行------GPU的革命CUDA硬件实现分析(一)------安营扎寨-----GPU的革命C转载 2015-01-05 16:24:44 · 555 阅读 · 0 评论 -
tcl 中的毫秒级等待
可以使用 after ms 函数,参考:http://wiki.tcl.tk/808比如: after 500 (睡眠500ms),可以用于 expect 的脚本。原创 2015-02-10 15:36:18 · 5494 阅读 · 0 评论 -
程序员如何提升自己的代码质量?
本文转载至:http://www.zhoudev.com/?p=19文章只针对有一定语言基础的人。写本文的原因,其实很简单:团队的代码质量实在是太差了,而我又是一个在代码方面有很强洁癖的人,所以经常免不了大动肝火的去喷人。而喷人是很不好的,所以就有了这篇文章。团队的代码质量差,主要表现在以下几点:可读性:函数命名随意,实现逻辑混乱,代码格式不统一。。。可靠性:程转载 2015-01-21 22:42:07 · 9508 阅读 · 0 评论 -
为函数添加enter和exit级trace
本文转载至:http://tonybai.com/2011/07/13/add-enter-and-exit-trace-for-your-function/日常开发中,我们为了辅助程序调试常常在每个函数的出入口(entry/exit)增加Trace,一般我们多用宏来实现这些Trace语句,例如:#ifdef XX_DEBUG_#define TRACE_ENTER() printf(转载 2014-12-15 16:53:09 · 999 阅读 · 0 评论 -
Inline Functions versus Macros
本文转载至:http://msdn.microsoft.com/en-us/library/bf6bf4cf.aspxAlthough inline functions are similar to macros (because the function code is expanded at the point of the call at compile time), inl转载 2015-01-20 22:10:54 · 616 阅读 · 0 评论 -
那些史上留名的软件 bug 们
来源:雷锋网 参考原文:http://www.leiphone.com/news/201512/j5VB5PajMkedwBjJ.html作者: 知社学术圈 文章地址:https://linux.cn/article-6691-1.html在现今数字年代,计算机bug不但困扰着每个程序员,更会无可避免影响我们的生活,小到每个人的衣食住行,大到国家经转载 2015-12-07 15:32:45 · 859 阅读 · 0 评论 -
用 Graphviz 可视化函数调用
本文转载至:http://www.ibm.com/developerworks/cn/linux/l-graphvis/转载说明:这种手法有一个比较大的问题就是代码需要重新编译,这其实在大部分情况下来说是不可以接受的。可以将以图形形式查看应用程序的调用过程看作是一个学习经历。这样做可以帮助您理解应用程序的内部行为,并获得有关程序优化方面的信息。例如,通过对那些经常调用的函数进行优化转载 2016-02-19 16:12:12 · 1603 阅读 · 1 评论 -
一个开源项目维护者的笔记:为什么我关闭 PR
原文出处: jeffgeerling 译文出处:oschina/局长 我在 GitHub 上和其他地方维护着许多的开源项目(截止本文写作时超过 160 个)。在过去几年里,我已经合并 以及/或者 关闭了上千个 Pull Requests (PRs) 和补丁,现在想在这里总结一下我不合并许多 PRs 的原因。我的几个项目都有协同维护者,但是大多数只有我一个人维护。因此巴士系数转载 2017-02-12 12:47:14 · 2030 阅读 · 0 评论 -
_GNU_SOURCE和__USE_GNU的差别
本文转载至:http://mnstory.net/2015/03/_gnu_source-vs-__use_gnu/#more-371c-cpp.c:1234567891011121314#include #include //放这里就编译不过 /* get REG_RIP from ucontext.h */#ifndef __USE_GNU# define _转载 2016-10-19 16:57:16 · 9911 阅读 · 0 评论 -
编写一个简易的 HTTP 服务器程序
本文转载至:http://www.codeceo.com/article/make-simple-http-server.html好久没输出了,知识还是要写下总结才能让思路更加清晰。最近在学习计算机网络相关的知识,来聊聊如何编写一个建议的HTTP服务器。HTTP 服务器HTTP服务器,就是一个运行在主机上的程序。程序启动了之后,会一直在等待其他所有客户端的请求,接收到请转载 2016-11-05 19:45:04 · 1326 阅读 · 0 评论 -
Linux 系统中僵尸进程
本文转载至:http://www.cnblogs.com/hazir/p/zombie_process.htmlLinux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动。僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。配图源自 Flickr 僵尸进程如何产生的?如果一个进程在其终止的时候转载 2016-11-05 19:07:16 · 462 阅读 · 0 评论 -
简单的 iconv (libiconv) 示例
本文译至:https://blog.inventic.eu/2010/11/simple-iconv-libiconv-example/下面是一个如何使用 iconv 库的简单示例。#include #include #include int main(int argc, char *argv[]){ char src[] = "abcčde"; char ds翻译 2016-09-21 17:25:58 · 2317 阅读 · 0 评论 -
空格键 还是 Tab键?
本文转载至:http://www.solidot.org/story?sid=49551缩进时使用空格键还是Tab键,这不是一个小问题。在HBO的喜剧片《硅谷》第三季中,不同的缩进风格导致了两位程序员分手。在现实编程中,程序员究竟是爱用空格键还是Tab键?Google 程序员 Felipe Hoffa 分析了GitHub上的40万个代码库,10亿个文件,总共14TB数据,这些文转载 2016-09-07 07:53:08 · 2349 阅读 · 1 评论 -
OOD的原则
本文译至:http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod什么是面向对象的设计?这是什么一回事呢?它的好处是什么?它的成本又是什么?当几乎所有的软件开发人员正在使用某种类型的面向对象的语言的时代,问这些问题可能看起来很可笑。但是这个问题很重要,因为,在我看来,我们中的大多数人不知道为什么使用这些语言,也不知道如何从中获得最翻译 2016-09-05 13:45:23 · 892 阅读 · 0 评论 -
使用 UDP Datagrams 的 Sockets C 编程
本文转载至:http://www.programminglogic.com/sockets-programming-in-c-using-udp-datagrams/以下是一段简单的server-client C程序,它使用UDP socket来进行传输。基本上客户端往服务器发一个消息,服务器把消息转成大写再返回给客户端。如果你想看一段更简单的代码,先看一下这个client-server转载 2016-08-30 17:24:00 · 838 阅读 · 0 评论 -
Client-Server C程序示例C (使用 Sockets 和 TCP)
本文来自:www.programminglogic.com/example-of-client-server-program-in-c-using-sockets-and-tcp/下面你将看到一个非常简单的client-server 的C程序示例。 基本上客户端连接到服务器上,服务器发一个消息 “Hello World”,然后客户端打印接收到的消息。请注意我是手动配置设置的。如果你想你的代翻译 2016-08-30 15:55:56 · 5182 阅读 · 0 评论 -
Understanding memory usage on Linux
本文转载至:http://virtualthreads.blogspot.jp/2006/02/understanding-memory-usage-on-linux.htmlThis entry is for those people who have ever wondered, "Why the hell is a simple KDE text editor taking up 25转载 2016-05-16 16:31:57 · 615 阅读 · 0 评论 -
Things You Should Never Do, Part I
本文转载至:http://www.joelonsoftware.com/articles/fog0000000069.htmlNetscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was r转载 2016-05-15 09:45:55 · 795 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理]
本文转载至:http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也转载 2016-05-12 12:39:21 · 485 阅读 · 0 评论 -
使用消息队列的 10 个理由
本文转载至:http://www.oschina.net/translate/top-10-uses-for-message-queue过去几年中,我们一直在使用、构建和宣传消息队列,我们认为它们是很令人敬畏的,这也不是什么秘密。我们相信对任何架构或应用来说,消息队列都是一个至关重要的组件,下面是十个理由:1. 解耦在项目启动之初来预测将来项目会碰到什么转载 2016-05-12 11:43:23 · 1133 阅读 · 0 评论 -
ARM WFI和WFE指令
本文转载至:http://www.wowotech.net/armv8a_arch/wfe_wfi.html1. 前言蜗蜗很早以前就知道有WFI和WFE这两个指令存在,但一直似懂非懂。最近准备研究CPU idle framework,由于WFI是让CPU进入idle状态的一种方法,就下决心把它们弄清楚。WFI(Wait for interrupt)和WFE(Wait for e转载 2015-01-16 12:14:30 · 8523 阅读 · 0 评论 -
进程与线程的一个简单解释
本文转载至:http://www.cricode.com/2410.html进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂转载 2015-01-15 14:39:21 · 634 阅读 · 0 评论 -
关于大端和小端
本文摘至:http://zh.wikipedia.org/wiki/%E5%AD%97%E8%8A%82%E5%BA%8F转载 2015-01-15 12:21:27 · 603 阅读 · 0 评论 -
“链式调用(方法链)”的概念与误区
转载自:http://www.web-tinker.com/article/20153.html转载 2014-08-25 09:31:06 · 7395 阅读 · 1 评论 -
在你的安卓设备上的编译器
Android can really empower your smart-phone by enabling you to write and compile code on your very own phone. A number of apps are available for you to try out programming on your android phone. Altho翻译 2014-08-20 22:37:47 · 2897 阅读 · 0 评论 -
关于字符编码,你所需要知道的
原文出处: Kevin Yang 的博客(@等打鸣的鸡) 欢迎分享原创到伯乐头条。字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。还是得从ASCII码说起说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事转载 2014-07-23 23:22:22 · 823 阅读 · 0 评论 -
Ada 语言在军工行业的应用
Ada语言在军工领域得到了广泛的应用,原创 2014-07-27 17:41:07 · 3567 阅读 · 0 评论 -
代码可读性优化
这篇文章简直就是我的心声,代码写的太漂yp转载 2014-07-28 11:30:44 · 1131 阅读 · 0 评论 -
Check Error Code in Linux
#!/bin/shERRNO_HEADERS="/usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h"if [ "$1" = "" ]; then ERR="[[:digit:]]+"else ERR=$1ficat $ERRNO_HEADERS | grep -E "[[:space:]]转载 2014-03-27 23:14:48 · 825 阅读 · 0 评论 -
R语言中国会议
http://cos.name/chinar/原创 2014-04-02 21:24:07 · 754 阅读 · 0 评论 -
mlockall function
Themlockallfunction locks all of the pages mapped by aprocess's address space.On a successful call tomlockall, the specified process becomes locked andmemory-resident.Themlockallfunction takes two fla转载 2014-07-09 16:51:42 · 1111 阅读 · 0 评论 -
自制编程语言有什么好处?
http://www.ituring.com.cn/article/562951. 可以帮助理解编程语言的内部运行机制编程语言是程序员每天都要使用的工具。深刻地理解这个工具,对程序员来说非常重要。一般来说,重新编写一个与已有程序相似的程序会被说成是“重复发明轮子”,这在行业内是不被认同的。但本书中想要实现的,偏偏是在众多语言存在的前提下再制作一门新的语言,正是“重复转载 2014-07-14 22:43:58 · 946 阅读 · 0 评论