2014-10-30 06:51
⁄ 工业·编程
⁄ 共 4335字
本文主要讨论 Linux x86/x86-64 平台,偶尔会举 Windows 作为反面教材。
C/C++ 的二进制兼容性 (binary compatibility) 有多重含义,本文主要在“头文件和库文件分别升级,可执行文件是否受影响”这个意义下讨论,我称之为 library (主要是 shared library,即动态链接库)的 ABI (application binary interface)。至于编译器与操作系统的 ABI 留给下一篇谈 C++ 标准与实践的文章。
什么是二进制兼容性
在解释这个定义之前,先看...
c++阅读全文
2014-10-29 22:10
⁄ 工业·编程
⁄ 共 10737字
OpenGL3.0(含3.0)之前的规范中存在固定流水线(fixed-functionpipeline),这时的编程风格我称之为“旧风格”,也称为“立即模式(intermediate mode)”。2.4节中的glBegin…glEnd…glFlush这样的代码就是例子。
从OpenGL 3.1开始,规范中删除了固定流水线的内容,这意味着从“支持”的角度来说,旧风格的OpenGL从3.1版开始不受支持了。当然,从编程...
OpenGL阅读全文
2014-10-29 19:01
⁄ 科技·视野
⁄ 共 1820字
时隔两年,英飞拓视频领域海外并购再下一城。此次并购对象不仅帮助英飞拓收入方面几近翻番、提升公司净利率水平,而且在行业领域、业务模式和销售渠道三个方面与英飞拓形成全方位的互补。经过英飞拓财务总监测算,在花掉5亿多现金后,英飞拓账面仍然还有大约5个亿的资金。公司董事长刘肇怀不改初心,“希望并购还要继续下去,这也是公司发展战略之一”。
量质齐升
手握约12亿元现金,英飞拓的并购之路一直被市场瞩目。刘肇怀笑称...
安防行业阅读全文
2014-10-29 06:50
⁄ 工业·编程
⁄ 共 8033字
版本管理(version controlling)是每个程序员的基本技能,C++ 程序员也不例外。版本管理的基本功能之一是追踪代码变化,让你能清楚地知道代码是如何一步步变成现在的这个样子,以及每次 check-in 都具体改动了哪些内部。无论是传统的集中式版本管理工具,如 Subversion,还是新型的分布式管理工具,如 Git/Hg,比较两个版本(revision)的差异都是其基本功能,即俗称“做一下 diff”。
diff 的输出是个窥孔(peephole),它的上下文有...
c++阅读全文
2014-10-29 06:20
⁄ 科技·视野
⁄ 共 4365字
尽管数学、语言学和计算机科学已经相当强大了,但历史上仍然有来历千奇百怪的密码难题至今仍未破解。这里我们精选了五个悬而未解的密码难题,如果你有幸破译了其中的任何一个,你都能在密码学界享有至高的荣誉。
十二宫杀手密码
1969 年 7 月 31 日,三家报社各自收到了一封密文的三分之一,密文的作者就是大名鼎鼎的十二宫杀手。十二宫杀手要求这三家报社把密文发表在报纸上,否则他将在当周周末再次杀人。三家报社只好照做。...
你知道吗, 密码阅读全文
2014-10-28 19:25
⁄ 工业·编程
⁄ 共 7839字
第一章介绍了如何在Windows下仅使用VS或SDK自带库创建OpenGL环境的方法,并极简单的介绍了Windows平台上OpenGL的历史。微软开发OpenGL的历史如此之短,之后就全力开发自己的亲儿子:DirectX。从此之后Windows平台对OpenGL的内置支持就停留在OpenGL 1.1版。当然,在Vista之后,微软甚至开发了一个OpenGL到DirectX的转换层,支持到OpenGL 1.4,这使得系统在没有安装支持OpenGL的显卡驱动时仍然能够运行...
OpenGL阅读全文
2014-10-28 15:47
⁄ 科技·视野
⁄ 共 1625字
2013年8月,海康威视立于用户角度思考,基于Smart”微智能,大智慧”理念,推出业界首款Smart IPC,体现出专业、智能、高效、便捷、开放的监控水平。
Smart IPC的出现,最大的意义在于推动了“智能前置”的发展,提高了监控的实时性,节约了后台分析服务器的成本,减少了故障节点。在Smart IPC上集成了“微智能”算法后,“让每一台IPC从一个图像和声音的采集单元转变成了一个智慧处理单元”,是“大智慧”的体现。自Smart IPC发布后半年...
海康, 监控阅读全文
2014-10-28 06:49
⁄ 工业·编程
⁄ 共 6420字
本文只考虑 Linux x86 平台,服务端开发(不考虑 Windows 的跨 DLL 内存分配释放问题)。本文假定读者知道 ::operator new() 和 ::operator delete() 是干什么的,与通常用的 new/delete 表达式有和区别和联系,这方面的知识可参考侯捷先生的文章《池内春秋》[1] ,或者这篇文章 。
C++ 的内存管理是个老生常谈的话题,我在《当析构函数遇到多线程 》第 7 节“插曲:系统地避免各种指针错误”中简单回顾了一些常见的问题以及在现...
c++阅读全文
2014-10-27 21:28
⁄ 工业·编程
⁄ 共 5519字
1.1 windows平台OpenGL介绍
OpenGL是一个强大的2D/3D图形库。作为初学者,在查看各类网络文章或书籍时,往往一开始就被里面提到的各种各样的OpenGL开发库搞糊涂了,为什么开发OpenGL程序要这么多库呢?
OpenGL本身是一个图形开发系统,且OpenGL是利用硬件加速的,这就决定了它需要直接操作显示设备,而在各种现代操作系统中,应...
OpenGL阅读全文
2014-10-27 14:55
⁄ 科技·视野
⁄ 共 1158字
未来视频监控将走向何处?4K将成为一个新起点。H.265成为视频监控发展4K的基础,首先H.265是ITU-T VCEG继H.264后所定制的新的视频编解码标准;其次编码单位可以选择从最小的8*8大最大的64*64;再次,H.265可实现低于1.5Mbps的传输带宽下,实现1080p全高清视频传输,其编码率也大大高于H.26;最重要的是,H.265可以减少70%~80%的带宽消耗 ……
两年一届的北京安博会将于本周(10.28)在新国展拉卡帷幕,或许你还记得去年在深圳CPSE安博...
安防技术, 安防行业阅读全文