2015-12-24 23:27
⁄ 工业·编程
⁄ 共 1413字
Rust是Mozilla公司推出的一门全新的编程语言,1.0版本于2015年5月15日正式对外发布。Rust的设计目标是要做一门系统编程语言,运行性能高、避免几乎所有的段错误(Segmentation Fault)和保证线程安全。这意味着Rust可以用于建造高效可靠的系统。
Rust与其它语言的最大不同就是它的类型系统,所有权(Ownership)以及生存期(Lifetime),这些都来自于C/C++中的一些最佳实践。对于资深的系统编程程序员来说,使用Rust时会大大减...
Rust, 脚本, 软件开发阅读全文
2015-12-23 22:35
⁄ 工业·编程
⁄ 共 676字
Linux开发工具就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。
Windows下 开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake。它们以集成方式提供给最终用户,对于初学者而言十分方便。但是,这种...
linux, 软件开发阅读全文
2015-12-23 11:21
⁄ 科技·视野
⁄ 共 1196字
毒蛇,那阴狠的眼神,咝咝作响的舌信,致命的毒液,让人想起来就毛骨悚然。然而,“卤水点豆腐,一物降一物”,即便恐怖万分的毒蛇也有克星,蛇鹫、蛇雕、臭鼬、鳄鱼等都是捕蛇能手,甚至有些蛇也捕食蛇,比如眼镜王蛇,它根本就没有把大名鼎鼎的眼镜蛇放在眼里。当然它们最大的敌人还是我们人类。面对复杂的生存环境,毒蛇们练就了种种让人叹为观止的生存秘笈。
第一招:虚张声势
如果有人试图欺负你,你该怎么办?面如土色,浑...
科普, 蛇阅读全文
2015-12-22 21:39
⁄ 工业·编程
⁄ 共 1631字
库文件依赖顺序
GCC在链接时对依赖库的顺序是敏感的,被依赖的库必须放在后面,比如liba.a依赖libb.a,必须写成liba.a libb.a,否则链接将出错。在库比较多依赖关系比较复杂或者相互依赖或者自己不清楚的情况下,可以使用下面的选项来强制GCC重复查找依赖库:
g++ -o tt tt.o -Xlinker "-(" -lws2_32 -lclsocketd -Xlinker "-)"
强符号和弱符号
在链接中,如果多个目标文件中含有相同名字的全局符号的定义...
GCC, 软件开发阅读全文
2015-12-22 05:00
⁄ 科技·视野
⁄ 共 3130字
今日冬至。
这一天,太阳直射南回归线,是北半球全年中白天最短、夜晚最长的一天。冬至是一个特殊而重要的时间点,至此以后,阳光直射的位置逐渐北移,便要开始“吃了冬至饭,一天长一线”了。光明会逐渐增多,温暖会慢慢回归。
现代的人,因为有科学技术带来的便利,对黑暗与严寒没有那么惧怕,但光明和温暖总是人心所盼。让我们来探寻一下冬至这个古老节日的来龙去脉,也效仿一下古人,诉几段俗情,行些许雅事。
为什么说“冬至...
你知道吗, 冬至, 节气阅读全文
2015-12-21 21:36
⁄ 工业·编程
⁄ 共 1468字
在TCP/IP分层中,数据链路层用MTU(Maximum Transmission Unit,最大传输单元)来限制所能传输的数据包大小,MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头,如以太网的MTU为1500字节,实际上数据帧的最大长度为1512字节,其中以太网数据帧的帧头为12字节。
当发送的IP数据报的大小超过了MTU时,IP层就需要对数据进行分片,否则数据将无法发送成功。
IP分片的实现
IP分片发生在IP层,不仅源端主机会进行分片,...
网络编程阅读全文
2015-12-21 15:44
⁄ 科技·视野
⁄ 共 1544字
从天空降落到地面上的雨水,未经蒸发、渗透、流失而在水面上积聚的水层深度,我们称为降雨量(以毫米为单位),它可以直观地表示降雨的多少。
气象上把下雨、下雪都叫做降水,降水的多少叫降水量,表示降水量的单位通常用毫米。1毫米的降水量是指单位面积上水深1毫米。1毫米降水落到田地里有多少呢?我们知道,每亩地面积是666.7平方米,因此,1毫米降水量就等于每亩地里增加0.667立方米的水。每...
你知道吗, 气象, 科普阅读全文
2015-12-20 21:33
⁄ 工业·编程
⁄ 共 1209字
最近使用GDB比较多,发现除了最常用的run、break、continue、next等命令的基本用法外,还有一些非常有用的命令和用法,能让你更加得心应手地使用GDB,在这里做了一下简单的总结。
1. run
当GDB的程序需要带参数运行时,除了使用set args外,还可以直接在run(r)后面带上参数,如下面两种方式是等价的:
2. set follow-fork-mode
有时候会发现GDB无法跟踪到设置的断点,原因可能是需要调试的进程是daemon进程或者fo...
GDB, 软件调试阅读全文
2015-12-20 18:17
⁄ 科技·视野
⁄ 共 3534字
一、拥抱视频网站,台网联动谋求变革
在广电行业有个被说烂的词汇,那就是“网台联动”,每次说到媒体融合,这个词汇都会被反复使用,当然有些人可能都不知道这个“网”其实指的是有线电视网。
但是在互联网视频网站的夹击下,这个所谓的“网台联动”充其量也只能算是弱弱联合,并没有实现部分广电人期许的加法效应。
于是,有些媒体人产生了一些新想法。if you can't beat them, then join them! 这句谚语永不过时,面对视频网站的来...
2015, 电视, 行业分析阅读全文
2015-12-19 21:31
⁄ 工业·编程
⁄ 共 5969字
编译过程
在Linux下使用GCC将源码编译成可执行文件的过程可以分解为4个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。一个简单的hello word程序编译过程如下:
1. 预处理
首先源代码文件(.c/.cpp)和相关头文件(.h/.hpp)被预处理器cpp预编译成.i文件(C++为.ii)。预处理命令为:
gcc –E hello.c –o hello.i
预编译过程主要处理那些源代码中以#开始的预编译指令,主要处理...
linux, 软件开发阅读全文