雜談之封裝main或WinMain啟動函式

2021-07-11 02:47:17 字數 1018 閱讀 7487

日期:2016 - 04 - 10

主題:vs,靜態庫,類靜態函式

公司的上個專案已經結束了,加入了新的專案。新專案使用的是公司正在研發中的渲染庫,趁著專案交接間的空閒時間,了解了下這個新的庫。一般我初接觸乙個庫,我都會先按f11,一遍一遍的跑幾次,看看它的基本流程框架。當我使用同樣的方法去了解公司的**庫的時候,我發現了乙個很奇怪的現象。公司庫裡面的啟動函式winmain居然在專案工程裡面找不到,而是在靜態**庫裡面。這個我以前從來沒有遇到過。所以很好奇,就試著去試驗了下。

(1)首先,我在vs2012中新建了乙個win32 console程式的靜態庫工程

(2)接著,我新增兩個檔案,分別為testlib.h和testlib.cpp,內容如下:

#ifndef __testlib__h_

#define __testlib__h_

int main();

class test

;#endif

#include "stdafx.h"

#include #include "testlib.h"

int main()

(3)然後編譯,生成testlib.lib檔案

(4)我在新建了另外乙個win32 console的exe程式,新增main.cpp檔案,並且將上面生成的testlib.lib和testlib.h放在新建的工程裡面

(5)main.cpp中新增如下的**:

#include "testlib.h"

#pragma comment(lib, "testlib.lib")

#include void test::printmsg()

(6)編譯執行,之後發現的確能夠執行。而且輸出了我想要輸出的printmsg中的內容。

同時,我也很好奇,為什麼類的static函式可以這樣的去實現,而單純的c函式為什麼不可以這樣去實現?留待下次去解決!

雜談之webpack篇

預留個空位,待上線。先學習react,回來補上。又看了webpack的文件不知道該怎麼下筆好,還是先寫react 吧,對webpack理解加深了在補。現在補一點webpack的知識。之前之所以不知道怎麼寫是因為把react和webpack當成離散的知識點了,而實際應用應該把離散的知識貫穿起來。首先應...

雜談之flex布局

到了flex布局反而不知道該怎麼寫了,因為之前做的react native專案就是用flex布局,flex布局不算新手了。想了再想覺得網上的教程應該比我說的更詳盡,就簡單複製幾個以前的學習鏈結,先參考這些鏈結學習吧,我也仔細想想能寫些什麼,有合適的東西了在補充。中文文件 a complete gui...

c c 之 main函式引數

一直知道但是沒有深究的東西。說簡單點就是 int argc 表示讀入字串個數 char argv 指標陣列,用來存放讀入的字串 程式的意思逐個輸出所有讀入的字串,每個字串間空乙個製表符間隔。由於main函式不能被其它函式呼叫,因此不可能在程式內部取得實際值。那麼,在何處把實參值賦予main函式的形參...