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; 我怎样才能得到这个精度回