crt

    0熱度

    2回答

    今天,我正在檢查Visual Studio 2008和2010的CRT庫的源代碼,並發現了一個到文件mtdll.h中的錯誤。問題在於宏FLS_GETVALUE。在x86系統上,這個宏直接調用TlsGetValue,而不是調用分配給變量gpFlsGetValue的函數。 首先,這是一個問題,因爲FlsAlloc,FlsGetValue,FlsFree和FlsSetValue在所有系統(Windows

    2熱度

    2回答

    我需要爲來自網絡套接字的大量數據實現一個簡單的「溢出到磁盤」層。我希望有兩個C FILE*流,一個由寫入文件的後臺線程使用,另一個由讀取它的前端線程使用。 兩個流這樣一個線程可在一個偏移來寫,而另一種是閱讀別處 - 不以鎖定並阻止其他線程。 會有分頁機制,所以讀/寫操作在隨機訪問的地點 - 不一定是連續的。 還有一點需要注意,這需要在Windows和Linux上運行。 的問題:fwrite的第一流

    3熱度

    1回答

    在windows中;有2個選項鍊接到CRT: 多線程,靜態鏈接 多線程,動態鏈接 有人可以闡明什麼是這裏最好的做法有些輕?我應該「靜態」鏈接到CRT還是動態鏈接? 如果我做了一個動態鏈接,並且我編寫了一個使用我的DLL +另一個第三方DLL(這是一個靜態鏈接到CRT)的程序,這是一個問題嗎?

    1熱度

    1回答

    我目前正在研究一個DLL,這是一個封閉的工作項目的擴展。 我想抓住每一個純粹的通話錯誤,所以我把它搜索起來,並發現了關於_purecall處理程序。我的問題是關於它的實現。幕後發生了什麼?編譯器本身需要我的處理程序函數地址(如果我定義了一個),並在它被類函數地址本身(初始化後)覆蓋之前將其默認值寫入v表中的每一行,或者它更復雜一些CRT和全局指針? 我在問這個,因爲我不希望我的插件DLL覆蓋整個應

    8熱度

    2回答

    如何檢查Windows中的靜態庫(.lib)鏈接到哪個運行時庫? 我編譯我的/ MDD項目,我相信我鏈接到使用庫/ MTD多線程調試 Error 7 error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" ([email protected]@@[email protected]) already defined in li

    -1熱度

    1回答

    嗨,所有的VC++和WIndows專家! ;) 首先,我的背景:Vstudio,C & C++,Windows。(如果你願意,你可以得到我的技術)。 經過5天的嘗試各種可能性,論壇和修復,甚至改變O/S平臺,我決定在這裏發佈(或跳出窗口!)我在AGONy試圖解決這個問題,作爲它支撐着我的實際開發工作! 。 :) 洙.. sceratio是: 開發機哪裏發生問題: 操作系統:Windows Vist

    0熱度

    2回答

    我有一個用VS2008構建的Win32程序,所以我的代碼與MSVCR90.DLL和MSVCP90.DLL鏈接。但是,它也在DLL中運行代碼(我無法修改),這是使用VS2005構建的,當DLL中的代碼打印到堵塞流時,它通過MSVCR80.DLL和MSVCP80.DLL執行。這裏的問題是:如果我在代碼中重新路由std :: clog,我只影響針對crt 9.0 libs構建的代碼,使用舊版crt 8.

    2熱度

    1回答

    我在C#應用程序中使用舊的C庫(構建爲DLL)。該庫中的一個功能需要傳遞一個FILE*(如ANSI C中定義的)。有什麼辦法可以在C#中使用System.IO.File,stdout和stderr來獲得FILE *句柄? 還是有什麼辦法解決這個問題,任何想法,提示等...? 在此先感謝。

    5熱度

    2回答

    我有一個長期工作的C++代碼庫。代碼庫是我最近遷移到VS 2008的傳統VS 2003項目集合。遷移似乎是成功的,因爲生成的程序已經建立並運行。 我重新安裝了操作系統和新的驅動器上的所有應用程序,而現在當我嘗試在調試器中調試程序,我收到內部的斷言錯誤的CRT的chsize(真的,_chsize_s)。具體而言(裁剪爲要領,忽略安全檢查):內chsize發生 FILE * testfile = fo

    1熱度

    2回答

    我正在使用api,它使用兩個__time32_t對象將遊標打開到數據庫,指定要查詢的開始和結束時間。 __time32_t是否具有亞秒(毫秒)的時間精度? MSDN有點不清楚。 的time32_t對象我這樣處理: currentET-=.1; 哪我希望給我currentET減去10毫秒的時間裏面,但它是所有減去一整秒,因爲如果我這樣做: currentET-=1; 我怎樣才能得到這個精度回