摘要:
优雅的结束golang程序 实现方式 使用sync.WaitGroup配合context.WithCancel即可优雅的关掉 ctx, cancel := context.WithCancel(context.Background()) var wg sync.WaitGroup signChan 阅读全文
摘要:
优雅的结束golang程序 实现方式 使用sync.WaitGroup配合context.WithCancel即可优雅的关掉 ctx, cancel := context.WithCancel(context.Background()) var wg sync.WaitGroup signChan 阅读全文
摘要:
WebRTC 简介 WebRTC(Web Real-Time Communications), 是一个可以让我们在浏览器上实现P2P的协议。 我们可以使用此协议传输文字,语音,视频及文件等内容。 本文将我学习过程中的一些个人理解记录下来了。强烈建议阅读MDN的文档进行系统学习。 简单流程 首先,我们 阅读全文
摘要:
1.原由使用javascript开发的时候发现,在部分第三方库中,对emoji的字符串进行UTF8编码出错。调查发现,javascript的string编码为UTF16(出处),而我们大部分时候使用的是UTF8。由于UTF16的设计,在大部分情况下编码javascript的字符串到UTF8都是没问题... 阅读全文
摘要:
毕业开始做的c++开发,从某些程度上来说学c++也就半年,记录下读了一些书。《c程序设计语言》这本书确实让我等到了一些收益。最大的益处在于让我感受到函数库里的那些函数也不是那么神秘。刚开始学c的时候,我一直觉得很多常用函数和方法内部一定做了特别神奇的事情,尤其是在我一开始从vc++开始入门的,里面的各种字符串(或者应该说字符数组吧,不过我一开始以为那个就是字符串),让我云里雾里,更对那些字符串操作函数感到十分的迷茫。还好是跟着这本书,把他的例子打了一遍,习题也做了下,让我真切的觉得自己对c/c++更加的了解了。《c++ primer》让我对c++有了系统的学习。不多说。最近又入手了英文版的CP 阅读全文
摘要:
当初是想着学习C#,就动手开始实现一个简单的播放器。在实现的工程中发现自己能够学到很多东西,就有了把播放器用c++重写的想法,在实现过程中,发现c++想实现c#同样的功能,真有一种 "我努力奋斗了17年就是为了能和你一起喝咖啡"的感觉呀。不过值得一提的是,在完成这个播放器的过程中,学习到了很多东西,尤其是关于Widnows平台的知识。在这点上,MSDN确实给我提供了很大的帮助,虽然我英文不是特别... 阅读全文
摘要:
平时创建定时器使用的是WINAPI SetTimer,不过该函数一般用于有界面的时候。无界面的情况下,可以选择微软提供的CreateWaitableTimer和SetWaitableTimer API。HANDLE WINAPI CreateWaitableTimer( _In_opt_ LPSECURITY_ATTRIBUTES lpTimerAttributes, _In_ BOOL bManualReset, _In_opt_ LPCTSTR lpTimerName);BOOL WINAPI SetWaitableTimer( _In_ HANDLE hT... 阅读全文
摘要:
今天看msdn的时候发现之前自己封装的Window类写的完全是错误的。封装window类的时候要建立自己的消息处理函数,但是如果是类成员函数的话,一定要是静态类成员函数才行。所以之前我都把消息处理函数里需要调用的函数都写成静态成员函数...先来看看CreateWindowEx函数:HWND WINAPI CreateWindowEx( _In_ DWORD dwExStyle, _In_opt_ LPCTSTR lpClassName, _In_opt_ LPCTSTR lpWindowName, _In_ DWORD dwStyle, _In_ i... 阅读全文
摘要:
最近写音乐播放器练手。音乐需要一个添加音乐文件的对话框,便在msdn上找到了一个新姿势,就是Common Item Dialog.MSDN链接:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776913(v=vs.85).aspx按照msdn的说法,Common Item Dialog用来代替以前Common File Dialog去打开或保存文件。Common Item Dialog需要win vista以上操作系统, 拥有Open dialog 和 Save dialog.先给出一个简单的例子,这个例子是我用来打开音乐文 阅读全文
摘要:
1.assign operator和copy method会传递ownership2.可以使用const 修饰。传递ownership会报错。并且可以更改指向的值3. 阅读全文
摘要:
楼主在公司接手了一段代码。编译的时候发现一个很奇怪的问题,就是获取最新代码的时候能编译通过,然后下次就编译不通过了,提示如下错误。后来发现问题出在stdafx.h文件中。代码类似如下#import "progid:打码" named_guids raw_interfaces_only rename("A","myA")只要把rename和上面的代码放到一行,类似如下#import "progid:打码" named_guids raw_interfaces_only rename("A",&qu 阅读全文
|