自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zencher的编码之旅

资深工程师 / 开源项目作者 / 半极客 / 伪文青

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux下执行当前目录下的程序为什么还要加上"./" ?

原因使用命令行执行某个程序的时候,Linux会到PATH环境变量的路径去搜索程序文件,但在默认情况下,Linux和Windows不同,Windows会搜索当前目录,而Linux不会搜索当前目录,所以在当前目录下的程序,而当前目录不再PATH环境变量中的话,就需要加上"./"来指定到当前目录下去查找应用程序了。“.”表示当前目录,Windows/Dos 的默认搜索路径(即 PATH 环境变量)里...

2018-12-01 16:15:55 5579

转载 H264编码之GOP含义

GOP说白了就是两个I帧之间的间隔.比较说GOP为120,如果是720p60的话,那就是2s一次I帧. 在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧,如下图所示。 ● I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码 ● P帧即Predictive-codedPicture(预测编码图像帧)...

2018-10-11 15:37:27 1167

转载 ASLR

aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。 ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者...

2018-09-07 01:51:16 520

原创 Java虚拟机知识提炼

快速的过了一本Java虚拟机的书,还是很有意思的。 用自己的话小结一下,太细节的内容就不提了。 第一,java在诞生之初是冲着代码的可移植性去的,所以,设计了这种平台无关的中间编码和解释执行代码的运行环境,也就是java虚拟机。所以,java一开始就公布了两个规范,一个是java语言规范,另一个是java虚拟机规范,是两个分开的规范。 靠,什么意思,就是说,你只...

2018-07-17 17:18:49 149

原创 又到毕业时节之 - 我的学习历程(记录我如何从物理学专业毕业成为一个码农)- 于 2009年3月

我的学习历程=====前言=======================================首先声明,我并不是什么牛人,只是一个有志于软件行业的,曾经的大学生和今天的软件从业人员。仍然处在我的新人年里面。感谢那些曾经帮助过我的人,感谢韬哥,祝愿韬哥的公司越做越好,生意兴隆。=====正文=======================================今...

2018-06-07 12:37:03 569 1

原创 一个Windows开发者的反思

3月29日晚间,微软CEO纳德拉宣布公司施行重大重组,将新设两大部门,即“体验与设备”部门与“AI与云计算”部门。同时,负责“Windows和设备事业部门”的执行副总裁Terry Myerson将离职。Terry Myerson于1997年加入微软,为微软效力长达21年,其任职期间,先后领导了Exchange团队,并接管了Windows Phone业务。2013年,Terry Myerson被...

2018-04-10 16:50:31 428 1

原创 包月服务的起止时间 到 包月月份的转换

线上的服务大部分都有包月计费的,对于包月计费来说,一般公司都有一个特别的规则来定义一个月的起止时间,比如从购买时间开始,满一个自然月后的第一个0:00作为服务的结束时间,在这个规则下,最少一个月有28天,大部分的月份都是30天,或31天,极端情况下,由于规则,会导致一个月有接近32天(你应该知道什么时间购买线上服务的时间是最合算的了吧?)。对于服务器端,如何计算这个服务的起止时间,得出月份总数...

2018-04-03 10:50:19 1275

原创 QWebEngineView如何忽略SSL证书错误

最近用QT写客户端软件,思路是使用QWebEngineView来绘制本地的html或者服务器上的html做界面展示。可是发现QWebEngineView在Load一个https的URL的时候,由于ssl证书不可信导致提示有错误,无法显示内容,在QWebEngineView这个类里面找了半天都没看到忽略SSL证书错误的方法,后面终于找到了,原来在藏在QWebEnginePage这个类里面。这里,...

2018-03-14 19:08:04 4525 8

原创 同步git并保留提交记录

最近要把一个旧的git仓库上的代码移动到新的gitlab上,所以查了一下git的用法:先把要同步的旧的git仓库clone到本地然后进入本地的git 仓库然后执行git push - -mirror ssh://XXXXX.git 就会开始同步旧的git仓库到新的git仓库上去了

2018-01-10 13:22:29 830

原创 我的知乎专栏创刊号:嘿,做个会输出的人吧

人是一台时刻运行的超级计算机,充分利用他的性能,充分利用他的输出,让你的人生更加ouput

2017-09-21 00:57:00 263

原创 封闭还是开放,这是一个问题

封闭还是开放,这是一个问题。我没有办法去讨论太过高级的东西。仅从软件开发角度来表达一下这些年自己思维的一些变化。或许是一个不错的时间节点,可以做一些不错的思考,做一些新的尝试。对于我而言,其实标题应该更简化为闭源还是开源,这是一个问题。我觉得一个软件开发的从业者的思维,很大程度上受毕业后进入的第一家公司的影响。起码我是这样。我是一个学物理的本科毕业生。由于对开发的热爱,自学

2016-06-15 11:37:28 494

原创 CentOS 下面解决libvirt版本过低、升级冲突问题

最近在搞Qemu+Spice的桌面虚拟化方案。之前一直在公司服务器上面编译、测试spice。今天想搭一个自己的服务器。qemu和spice,以及他们依赖的库都安装好了,可是用libvirt始终都启动不了虚拟机,后来发现yum上面的libvirt版本特别低,才0.10.2,我的天哪,怪不得各种设备类型都不支持。于是就去官方下载1.2.4的libvirt,卸载了系统里面的libvirt

2015-08-06 14:34:54 6670

原创 Modules导致xcode下编译libjpeg出现重定义问题解决

今天在xcode下面编译libjpeg,竟然发现编译有重定义错误,libjpeg中有一个结构体名称为box,这个和系统自带的头文件中的结构体重复了。奇怪的是旧的工程就可以编译libjpeg,毫无问题,那就是路径包含的问题了,可是我并没有包含这个系统头文件。比较了半天发现,关掉xcode工程选项中Enable Modules,就可以解决。至于Modules是什么?搜索下

2015-07-08 02:13:11 525

原创 累了,也还要走下去

我从2011年年初开始写自己的PDF解析库,为的就是有一天,能有一个自己的PDF解析库,当然更直接的想法是开发一些好的软件,拿去卖钱。如果要问我,为什么那么执拗的想写一个自己PDF解析核心,我会告诉你说,那是一件非常酷的事情,非常有成就感的事情。如果我能够独立完成这些工作,那就足够的证明我的能力,如果中途失败了,我依然也锻炼了我的能力。那时候年轻,没想太多。当然,现在也不老,不过对于技术的

2014-04-02 13:02:04 690

原创 Objective-C学习笔记(1) 基础知识

1. Objective-C是对C的扩展。也就是说,Objective-C包含了C语言的所有内容的同时,对于C进行了面向对象方面的扩充。这些扩充包括:(1)定义类的方式。(2)类方法的调用。也就是Objective-C中的消息。(3)十几个关键字和编译器指令。这些扩充的内容不多,但是却精巧而强大。语法的内容不是太多。2. Objective-C中类的定义,包含两个部分,

2012-07-17 20:14:27 807

原创 GTK初次开发的经验之谈

      最近公司有写一些Linux下面的图形界面的demo的需求。所以欣然的接过这个任务,又可以以工作的名义学习新的东西,呵呵,双赢啊,双赢。      Linux下面的一下开发,也接触过,但是写过一些命令行程序、编译个库什么的,对于GUI的程序的编写还是没有接触的。了解过GTK,知道这个是GNOME桌面环境的基础,GTK是一个开源的图像工具包。废话不多说,讲讲学习过程中的一些经验之谈吧。环境搭建      首先是搭建一个开发环境。看网上的介绍,GTK+是一个蛮复杂的东东,底层还有很多依赖的库,这个依赖

2010-08-01 11:08:00 1681 3

原创 Windows内存管理 - 隐藏在new和malloc背后的heap

经常写在heap上分配内存的代码,却不知heap为何物,能吃几碗干饭。今天来介绍介绍,认识一下,以后好好相处。 先来说,heap是什么,heap就是堆,在不知道具体细节的时候,我们只知道,通过new和malloc,我们可以动态获得一个内存区域,用来存放自己的对象和变量,而这些内存区域都是在heap上的。heap应该就是一个内存区域吧。应该会有很多人这么认为过。 后来,学习了Win

2010-05-13 23:11:00 5196 1

原创 Windows界面编程 - 灵活界面库的技术原理

       最近,见识了一两个非常不错的界面库。很漂亮,而且使用方便。在程序最开始部分初始化一下,设置一下皮肤,程序的所有窗口的外观就全都变化了。      了解一下大致的实现原理,把自己学到的表达一下。      简单来说,Windows下的窗口程序都是由消息驱动的,当收到消息的时候进行处理,没有消息的时候就把CPU资源让出来。每个窗口都是有一个消息队列的,那由谁来处理这个消息

2010-05-12 21:32:00 3743 3

原创 FreeType在VC6下面的lib编译

    近来学习了一下FreeType库,确实好用。不过遇到很多编译上的问题,发现网络上遇到同样问题的朋友很多,刚好把自己的这点小经验写一下,帮助一下刚开始学习FreeType库的同学。     FreeType 是一个非常好的库,而且跨平台,并且能够自定义组件的方式选择性的编译,所以就特别灵活。但是这灵活也是有代价的,那就是,编译的时候要注意的事情就很多,才接触的时候,往往很不习惯。

2010-03-27 16:17:00 2712

原创 一个奇怪的死循环:帮助你理解地址空间和栈

     有这样一个控制台程序,你知道他运行的结果吗? int main(){    int i, array[10];    for( i = 0; i     {        array[i]=0;    }}     试着运行一下吧,你会发现,死循环了,为什么呢?    跟踪一下,你会发现,array[10] = 0; 这个操作改

2009-11-28 12:56:00 1651 3

原创 实验:一个进程到底能创建多少线程?

         在网上看到有朋友讨论,一个进程能创建的线程的最大数量,我学习了一下,做了这个小实验。        理论上,一个进程可用虚拟空间是2G,默认情况下,线程的栈的大小是1MB,所以理论上最多只能创建2048个线程。如果要创建多于2048的话,必须修改编译器的设置。怎么设置呆会儿再说。         在VC下写了一个控制台程序,目的很简单,就是创建4500个线程程

2008-08-07 20:48:00 6815 5

原创 用Delphi写一个Windows下的纯SDK程序

技术主管给我的一个考题:用Delphi写一个Windows下的纯SDK程序其实,无论是Delphi、C++ Builder,还是Visual C++,虽然这些IDE功能性能各异,但通过编译器编译出来的,在Windows上运行的二进制代码,其实是相通的。(其实到汇编层次你就会知道他们编译出的程序没有太大区别了)纯的SDK,不包含任何其他库类,是一种符合Windows程序设计的通用的标准,不经

2008-08-07 15:36:00 1326

离散数学-程序员数学基本功

离散数学-程序员数学基本功 pdf 全美经典,离散数学

2008-09-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除