C/C++/linux
海枫
这个作者很懒,什么都没留下…
展开
-
再续【从零使用qemu模拟器搭建arm运行环境】
动机我在2015年编写博文《从零使用qemu模拟器搭建arm运行环境》介绍在 Ubuntu 14.04系统如何一步步构造arm+qemu的运行环境。该文的主要问题是读者有运行环境不一定是Ubuntu 14.04,会遇到不少的软件包安装和编译错误问题,我也没有办法构造复现。另一方面,当前再次构造这个环境时,也会遇到类似的问题需要处理,特别是换成Centos发行版之后,处理起来更复杂。既然每位朋友的发行版都不一样,那可以使用Docker统一构建环境,这是本项目的主要动机,使用Docker基于Ubuntu14原创 2020-10-08 10:42:50 · 3321 阅读 · 8 评论 -
谈谈Linux应用程序 ABI兼容性
本文分本Linux运行环境是如何支持应用程序达到前向兼容。原创 2015-07-11 16:56:31 · 12722 阅读 · 0 评论 -
kernel 网桥代码分析
作者:林海枫本文地址:http://blog.csdn.net/linyt/archive/2010/01/14/5191512.aspx 注:本文由作者所拥用,欢迎转载,但请全文转载并注明作者,请勿用于 任何商途。本文分析的kernel版本为:2.6.24.4,网桥代码目录为:linux-2.6.24.4/net/bridge。本文着重分析网桥的基本功原创 2010-01-14 14:23:00 · 19294 阅读 · 27 评论 -
tcpdump高级用法
<!-- @page { size: 21.59cm 27.94cm; margin: 2cm } P { margin-bottom: 0.21cm } --> Tcpdump高级用法 作者:林海枫http://blog.csdn.net/linyt[*]转载请注明作者,请匆用于商业用途。原创 2007-12-14 16:27:00 · 13791 阅读 · 0 评论 -
C1X系列: 多线程(N1494)
本文分析C1X标准最新草案N1494中的多线程接口函数。原创 2010-08-03 15:15:00 · 5066 阅读 · 0 评论 -
轻轻松松通过Usb安装Ubuntu
轻轻松松通过Usb安装Ubuntu作者:林海枫http://blog.csdn.net/linyt[*]转载请注明作者,请匆用于商业用途。前一段时间,由于工作的需要,要用USB进行安装Ubuntu,在网上找了很多资料,直到查看了Ubuntur的安装指南才明白其中的奥妙之处,下面和大家分享一下我的方法。由于没有光驱和Ubuntu server edition的光盘,故只有上网原创 2007-10-22 19:18:00 · 17327 阅读 · 2 评论 -
从汇编层面深度剖析C++虚函数
本文尝试从汇编的角度来分析g++编译器下C++虚函数的实现原创 2011-04-20 10:58:00 · 21505 阅读 · 30 评论 -
Linux内核模块符号CRC检查机制
Linux内核不承诺模块编程接口兼容性,事实上这类编程接口在内核主线的演进过程中,不停地发生变化,内核是如何检查插入的模块是否接口跟当前的内核接口兼容。本文重点介绍内核模块符号的CRC机制。原创 2015-01-10 00:02:49 · 8419 阅读 · 14 评论 -
C1X系列:type-generic macros
本文分析C1X 标准草案中的type-generic macros技术。原创 2010-10-25 09:27:00 · 4392 阅读 · 3 评论 -
arm-linux启动过程
从代码的角度来分析arm-linux启动阶段过程,以及相应的内存使用和页表结构。原创 2011-07-03 22:28:50 · 16405 阅读 · 12 评论 -
Linux内核网络系统中的设计模式
本文分析Linux内核网络子系统中使用的设计模式:组合模式,工厂模式,原型模式。原创 2016-06-26 23:26:06 · 5700 阅读 · 0 评论 -
nice命令兼容性分析实例
本文通过一个nice命令能否在旧版本上运行案例,分析Linux的二进制兼容相关知识原创 2016-03-19 17:34:30 · 2885 阅读 · 0 评论 -
图解C++虚函数
C++虚函数原理非常简单,但很多技术细节已将大家的学习兴趣淹没了。本来以图来注解g++编译器生成的C++虚函数结构。原创 2016-07-02 17:47:17 · 8567 阅读 · 4 评论 -
高级语言编写kernel,鱼和熊掌不可兼得
本文说明:本文首发在[内核月谈]公从号上,现在在个博客上发布,仍然标志为原创。本文基于OSDI18论文《The benefits and costs of writing a POSIX kernel in a high-level language》的理解整理而成。从第1节到4节沿着论文作者思路介绍a)为什么要使用高级语言编写Kernel;b)使用Go编写Biscuit在开发效率,系统安全性和...原创 2019-06-29 22:28:37 · 1900 阅读 · 2 评论 -
从零开始制作Linux
提到制作Linux,大家都能想到如雷贯耳、大名鼎鼎的Linux from scratch。但Linux from scratch的复杂性不是普通人能轻易掌握的,对于初学者来说,任何步骤出现不一致,会让初学者遇到挫拆,攻破LFS的信心越来越低。本文教大家制作一个比LFS更简单的Linux系统,只有Grub、Linux kernel和最小的根文件系统initrd,原理和过程都非常简单。大家可以在这...原创 2018-04-29 21:51:40 · 13119 阅读 · 24 评论 -
揭密X86架构C可变参数函数实现原理
前两天公司论坛有同事在问C语言可变参数函数中的va_start,va_arg 和 va_end 这些接口怎么实现的?我毫不犹豫翻开箱底,将多年前前(算算有十年了)写的文章「亲密接触C可变参数函数」发给他,然后开始了深入的技术交流,才有现在这篇文章,所以这篇文算是写给同事的,也分享给大家。「亲密接触C可变参数函数」这篇文章讲的是i386架构下可变参数函数的实现原理,但是从i386到X86架构,两...原创 2018-04-01 00:48:13 · 6612 阅读 · 11 评论 -
一分钟理解向后兼容
向后兼容 就是 向历史兼容,你理解对了吗?原创 2016-11-27 15:54:28 · 14547 阅读 · 7 评论 -
元函数or_之我实现
Normal 0 false false false MicrosoftInternetExplorer4 <!-- /* Font Definitions */ @font-face {font-family:宋体;原创 2009-01-08 00:37:00 · 2056 阅读 · 2 评论 -
巧夺天工的kfifo
你亲自写过循环队列的代码吗? Linux kernel就提供了一个kfifo数据结构,无论质量,效率和可读性,均属于上乘。本文着点分析kfifo的实现。原创 2010-07-25 12:03:00 · 51270 阅读 · 34 评论 -
聊聊Linux2038年问题
2038年问题与之前的千年虫问题的杀伤力是不一样的,千年虫属于应用程序的问题,而2038年问题却是系统级的,有更大的杀伤力。幸好当前离2038还有20年时间,并且整个Linux社区已经开始解决的,离目标不远了,曙光在望。原创 2016-10-04 01:23:30 · 25922 阅读 · 8 评论 -
Markdown编辑器对比分析
各路大侠,您有好的Markdown编辑推荐吗,请进入帮个忙,谢谢原创 2016-08-13 00:54:14 · 4285 阅读 · 2 评论 -
从汇编层面深度剖析C++基本对象布局
本文从汇编层面深入分析C++基本对象的内存布局,函数成员,静态函数成员的参数特点。原创 2011-05-02 22:25:00 · 5567 阅读 · 4 评论 -
mips体系结构下进行coredump分析
原创 2011-09-05 12:42:11 · 6068 阅读 · 4 评论 -
如何给你的函数变量命名
如何给你的变量命名 最近在项目中做了几次代码检视,发现代码中经常出现变量函数命名不是很完美的情况。有些变量名字,稍为一看,可以很容易看出它要表达的意思,但一样可以取一个更贴切的名字;而有一些名字,就显得特别别扭了。 本文不讨论命名风格(匈牙利风格中,还是Linux风格),仅从变量表达的意思上,应该选取什么样的英文词汇进行表达。由于我一直从事Linux开发,因此本文的命名风格是Lin原创 2014-01-07 02:03:22 · 6243 阅读 · 3 评论 -
C99标准的新特性
[注]本文转载于 http://hi.baidu.com/harite/blog/item/438adb006980fb10728b651d.html以下链接是我的学习笔记,有更细致和实践的说明http://hi.baidu.com/harite/blog/item/73aac9ceb96b6a0292457e8a.html 对于苦苦研习C语言的人来说,乱七八糟的书籍转载 2008-08-27 10:03:00 · 1497 阅读 · 0 评论 -
亲密接触C可变参数函数
本文从程序员实践的角度来剖析C可变参数函数在Intel 32位CPU上的实现与原理可变参数函数的实现如果说C语言具有很多低级语言的特性,那么可变参数函数便是这些特性中的一个。无论是C专家还是C初学者,都对printf标准库函数相当了解,因为它是我们步入C语言的第一个函数。使用printf函数时,就不知不觉地接触到C语言的可变参数函数机制。 printf函数的原型定义如下:int printf(co...原创 2008-04-02 10:39:00 · 5709 阅读 · 6 评论 -
RFC中文文档
RFC文档目录RFC1 主机软件 RFC2 主机软件 RFC3 文档规范 RFC4 网络时间表 RFC6 与 Bob Kahn 会话 RFC10 文档规范 RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接转载 2007-08-17 18:10:00 · 6363 阅读 · 1 评论 -
linux socke编程实例:一个简单的echo服务器程序(2)
在文章 <<linux socke编程实例:一个简单的echo服务器程序>>简单地介绍了如何在linix使用socket进行网络编程,并且在文中给出相应的程序和说明,以使大家对socket编程有初步的了解。现在我们解决文中出现的问题:不能同时与多个客户进行通信,只能第一个客户通信结束事才能与第二个客户进行通信,依次...直到有的客户连接超时,或者没有客户进行连接。通常一个服务器程序应能同时原创 2007-08-10 17:33:00 · 4349 阅读 · 2 评论 -
select函数与I/O多路转接
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> select函数与I/O多路转接 相作大家都写过读写IO操作的代码,例如从socket中读取数据可以使用如下的代码: while( (n = read(so原创 2007-08-02 13:48:00 · 6232 阅读 · 11 评论 -
linux socke编程实例:一个简单的echo服务器程序
也许是第一次真正使用linux操作系统,忽然对丢弃已久的C产生了很大的兴趣,最近想学点linux的知识,在linux的世界里面,接触得最多的还是C,故有感写一下linux的socket程序。 也许很多朋友会像我一样,这样的程序在Java写得太多,以至对Socket的通信细节还不曾忘怀。由于未有linux下的编程经验,在写程序过程中碰到很多不懂的东西,经过google一翻后,终于把一些原创 2007-07-31 18:08:00 · 10896 阅读 · 0 评论 -
RFC 2637 Point-to-Point Tunneling Protocol (PPTP)
[RFCs/IDs] [Plain Text] [From draft-ietf-pppext-pptp]INFORMATIONALNetwork Working Group K. HamzehRequest for Comments: 2637 Ascend Comm转载 2007-07-17 18:00:00 · 3219 阅读 · 0 评论 -
gt-itm安装笔记
安装好ns后,发现还不能直接使用gt-itm生成网络拓扑结构。上网查了一些资料才知gt-itm要自己的编译和安装的,经过安装成功,发现里面有些小技巧,下面介绍给大家。 如果大家还没有配置好ns的脚本,也不用担心,在这里用最简单的方法来做的。我的ns的安装路径为/home/lyt/ns/。 先在目录/home/lyt/ns/ns-allinone-2.29/gt原创 2007-04-03 20:07:00 · 6670 阅读 · 0 评论 -
ns安装笔记
论文已接近尾声了,现在正开始用 ns作为模拟实验的平台,因而把ns装好成了我的必修之路。由于是新手,上网找了不少资料,但今我失望是的,很多文章都只是介绍如何在win+cygwin的平台下安装ns的。现在给后来者更好的参考,我把在linux9.0下的安装过程写出来,希望对大家有帮助。下载ns http://www.isi.edu/nsnam/dist/ns-allinone-2.29.原创 2007-04-02 11:59:00 · 3121 阅读 · 0 评论 -
Extending the UCD-SNMP(net-snmp) agent
[Note]: thie file(AGENT.txt) locates at net-snmp-5.0.9-24 rpm software package.Note, this is based on the text from a web page, which can be found in the documentation section of the http://www.net-sn转载 2008-08-28 10:57:00 · 6842 阅读 · 0 评论 -
Linux,interesting and enjoyable
作者:林海枫网址:http://blog.csdn.net/linyt/archive/2008/09/16/2938122.aspx[注]:本文版权由作者拥有,欢迎转载,但请完整转载,请匆用于商业用途对于一个从window走过来的入门者,只使用命令来操作是一件很无聊的事情。因为刚开始不太可能就接触linux下的C编程或者脚本,又没有工作的需要,确实不知刚学什么命令,而且也不知学来做什么。所以学习原创 2008-09-16 20:41:00 · 2336 阅读 · 0 评论 -
Strlcpy和strlcat——一致的、安全的字符串拷贝和串接函数
英文原文: http://www.gratisoft.us/todd/papers/strlcpy.html英文作者: Todd C. Miller, Theo de Raadt译者:林海枫译本地址:http://blog.csdn.net/linyt/archive/2009/07/27/4383328.aspx翻译 2009-07-27 11:20:00 · 10038 阅读 · 4 评论 -
Memcpy(), a fast and portable implementation
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object cl翻译 2009-04-07 01:45:00 · 5788 阅读 · 6 评论 -
C++09: A Glimpse into the Future
<!-- @page { size: 21.59cm 27.94cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 英文原文: http://www.devsource.com/c/a/Languages/C09-A-Glimpse-into-the-Future/原作者:Danny翻译 2008-12-22 15:51:00 · 2602 阅读 · 0 评论 -
Unicode实现
Unicode实现作者:林海枫网址:http://blog.csdn.net/linyt/archive/2008/12/10/3490910.aspx[注] :文章版权属作者拥有,欢迎转载,但请完整转载并注明作者和完整地址,请勿用于任何商业用途。Unicode编码系统分为编码和实现两个层次。Unicode为每个字符分配了唯一的数字,并且与平台和语言无关,这是Unicode的编码层次。每个原创 2008-12-10 15:28:00 · 2687 阅读 · 1 评论 -
Unicode编码
Unicode编码 作者:林海枫网址:http://blog.csdn.net/linyt/archive/2008/12/08/3477866.aspx[注]:文章版权为作者所有,欢迎转载,但请完整转载并注明作者和完整地址,请勿用于任何商业用途。 什么是Unicode(统一码)? Unicode给每个字符提供了一个唯一的数字,原创 2008-12-08 17:19:00 · 5516 阅读 · 0 评论