原创 Windows下實現socketpair進行進程通信

前言:行動是治癒拖延的良藥,現代人所謂的拖延症都是對自己懶惰的藉口。 一直說要看看libevent源碼,卻又一直拖着忙着,不知道在忙些什麼。我說在公司看着那一堆亂七八糟的源碼都看下去了,爲什麼不能花點時間來研讀下別人的優秀的源碼呢?同學說

原创 c++對象模型

先看如下代碼,一個二維點的類: class Point { public: Point(float xval); virtual ~Point(); float x()const; static int PointCount();

原创 快速高斯濾波(用兩個一維代替二維)

高斯函數分離特性 二維方式是根據kernel的大小以及sigma大小生成一個 size*size的卷積核,然後再做卷積。計算量是imgWidth*imgHeight*size*size,但如果用兩個一維來替代,則計算量是imgWidth

原创 c++ 實現delegate(支持普通函數與成員函數)

最近開始寫了一些c#的東西,有個delegate的東西蠻有意思。 比如如下C#代碼   using System; using System.Collections.Generic; using System.Linq; using S

原创 Tomcat配置Http下載服務器,MFC下載文件

去http://tomcat.apache.org/下載Tomcat,下載JDK,JRE,配置開發環境,但是在cmd中進入Tomcat目錄bin目錄,雖然我的環境變量都配置正確了,但執行service.bat install Tomcat

原创 完整的IOCP模型 Echo服務器及代碼分析

首先,先感謝http://www.cnblogs.com/talenth/p/7068392.html 這篇博文,作者寫的通俗易懂,語言幽默,偶然一次在公交車上見到這篇博文相見恨晚,一口氣讀下來很長一篇,有了整體的認知,又翻看代碼,查看其

原创 TypeError: softmax() got an unexpected keyword argument 'axis'

今天我裝了tensorflow-gpu 1.4, keras 2.1.6發現運行keras模型的時候出現了以下的錯誤:、 Traceback (most recent call last):   File "models.py", lin

原创 CONTAINING_RECORD宏的使用

在看IOCP模型中看到一個CONTAINING_RECORD宏,用於根據一個結構體的一個成員獲取這個結構體的首地址。 宏定義如下  #define CONTAINING_RECORD(address, type, field) ((typ

原创 數據結構-堆

在看libevent時看到它用小根堆來管理時間,忽然猛地發現堆的概念有點忘了(上一次看數據結構是兩年半之前的一個暑假),所以此處複習一下。 堆是利用完全二叉樹來維護的一種數據結構,存取操作時間複雜度在O(1)-O(log n)之間,完全二

原创 sigslot(c++信號槽庫)源碼分析

最近本來開始看libevent的源碼的,裏面看到一個叫Reactor模式,然後又感覺跟觀察者模式有點像,就去找他們的區別,偶然又發現了一個信號槽的庫sigslot。本來我是寫過一段時間的QT的,體會過QT信號槽的便捷,竟然有人用c++寫出

原创 shared_ptr的注意點

對於C++新手而言,面對複雜的項目中指針的四處傳遞,或者異常後的處理,很容易引起申請了內存沒有釋放的問題,c++11給出了智能指針來簡化這一問題,常用的是shared_ptr。shared_ptr構造出的對象來管理一塊內存,結構如下: 其

原创 windows下多路複用IO(select,WSAAsyncSelect,WSAEventSelect)

Winsock提供的編程接口中socket默認是阻塞的,比如send,recv,connect,可以通過ioctlsocket進行設置非阻塞,server端要管理多個連接可能不是一件容易的事,windows下提供了不少模型可供使用,比如標

原创 Windows文件映射

幾乎所有的應用程序都離不開對文件的操作,一般的步驟是打開文件,讀寫文件,關閉文件。但是,頻繁的讀寫操作效率會很低,並且如果文件很大的情況,全部讀入緩衝區也不現實,微軟提供了一個叫映射文件的技術,可以完美解決上面的問題。我暫時的理解就是文件

原创 Windows跨進程共享內核對象

對於Windows內核對象,如互斥鎖,信號量,線程對象,文件映射對象等,有時候需要多個進程共享這些對象以協同完成任務,此時就需要跨進程來共享內核對象,對於內核對象判定最簡單方法就是在創建過程中有一個 LPSECURITY_ATTRIBUT

原创 __stdcall、__cdcel和__fastcall三者的區別

轉載:https://www.cnblogs.com/yejianyong/p/7506465.html __stdcall、__cdecl和__fastcall是三種函數調用協議,函數調用協議會影響函數參數的入棧方式、棧內數據的清除方式