crt

MSVCRTD.lib(cpu_disp.obj) : warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators

Hi I know this question has popped up before but I could not find a good answer so I try here. I have a pure C dll (Win32) and I get this warning when compiling: MSVCRTD.lib(cpu_disp.obj) : warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators Everything seems to work just fine but I am conce...

Detecting death of spawned process using Window CRT

Executive summary: I need a way to determine whether a Windows process I've spawned via _spawnl and am communicating with using FDs from _pipe has died. Details: I'm using the low-level CRT function in Windows (_eof, _read) to communicate with a process that was spawned via a call to _spawnl (with the P_NOWAIT) flag. I'm using _pipe t...

How to build MTd projects which use MDd dlls in VS2005

I am building my application in Visual Studio 2005, using project properties ->c/c++->CodeGeneration->RuntimeLib: MTd (using static CRT library-LIBCMTD). The application is using 3rd party dlls and libs which are built in MDd(using dynamic CRT lib- MSVCRTD). I'm getting linker errors as: MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __mkti...

Correct way to distribute VC++ runtime files

I have an MFC application which I am trying to package for deployment. It seems to depend on the files 'msvcr90.dll', 'msvcp90.dll' and 'mfc90.dll'. What is the correct way to distribute these files? I can't use merge modules as my installer doesn't support them. I know I can run VCRedist_x86.exe, but I don't want to do this for various...

StaticCRT(LIBCMT(D)) and DynamicCRT(MSVCRT(D)) conflict

I am developing a project which uses third party dlls and libraries. I want to build my project using static CRT (LIBCMTD) as I wish to run my application in "IBM purifier". However, the third party libraries are built using dynamic CRT(MSVCRT). This gives linking error as: MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __mktime64 already ...

Does anybody know any troubles with deploying Visual C++ library using XCopy?

We need to deploy Visual C++ library. We have tried deploy this libraries using Merge Modules, but uninstall became too slow (about 10-20 minutes). So we've decided to deploy this libraries using XCopy method. Does anybody know any troubles with deploying Visual C++ library using XCopy? ...

Why does renaming reg.exe on Windows Server 2008 x64 causes it to fail to run?

Hi StackOverflow, I've got a neat question here. There's a utility called reg.exe thats been shipped with Windows for quite some time. Its very handy to import .reg files from scripts, modify values from scripts, etc, etc. So when making a copy of it for a script scenario ("Why not use the copy in system32?" -> Software Restriction Poli...

Help Deadlock analysis

The Deadlock occurs in my application when initialization of local static variable happens in the function called from DLLMain Entry point with param DLL_THREAD_DETACH. Below is Windbg analysis This is usually caused by another thread holding the loader lock. Following are the Locks Held. CritSec ntdll!LdrpLoaderLock+0 at 7c97e178 ...

How to convert a double to a string without using the CRT

Hi everybody. My question has no practical application. I'm just interested. Suppose, I have a double value and I want to obtain its string representation similarly to the printf function. How would I do that without the C runtime library? Let's suppose I'm on the x86 architecture. ...

Where is runtime library crti.o on solaris 7?

I know there exist crti.o crt1.o crtn.o in /usr/lib on Solaris 10. But these files are absent on Solaris 7. ...

Windows update breaks dlls?

I'm compiling a project which uses multiple DLL and compiles with VS2008. After a recent windows update DLLs compiled on my computer stopped working on other computers. After some investigation it turned out that it updated the CRT redistributable library which I'm compiling with from version "9.0.21022.8" to version "9.0.30729.4148" T...

crt0.o and crt1.o -- What's the difference?

Hello, recently I've been trying to debug some low level work and I could not find the crt0.S for the compiler(avr-gcc) but I did find a crt1.S (and the same with the corresponding .o files) What is the difference between these two files? Is crt1 something completely different or what? They both seem to have to do with something for boo...

How to install VC80CRT debug runtimes without full visual studio 2005?

I can't run a debug sdk application because it requires both VC 8 and VC 9 versions of the CRT. But it only requires visual studio 2008 for plugin dev, which is what I need. How do I install the debug runtimes from 2005 on to a Windows7 machine? I can't figure out how to make them run app local nor can I copy anything into the winSxS fo...

fstream file I/O question - when to close a file stream

Hi, I am trying to work out if I need to call close on a fstream object if the intial open failed. i.e. std::fstream strm; strm.open( "filename" ); if( ! strm.fail() ) { // Do something strm.close(); // [1] } strm.close(); // [2] Where should close be called here - should it always be called [2] or only if the open succ...

fscanf / fscanf_s difference in behaviour

I'm puzzled by the following difference in behaviour: // suppose myfile.txt contains a single line with the single character 's' errno_t res; FILE* fp; char cmd[81]; res = fopen_s(&fp, "D:\\myfile.txt", "rb" ); fscanf(fp,"%80s",cmd); // cmd now contains 's/0' fclose(fp); res = fopen_s(&fp, "D:\\myfile.txt",...

CRT types across process boundaries

I'm doing drag/drop out of an activeX control. On drag, I provide a CComQIPtr which has COM methods implemented to pass information to the drop target. On drop, the drop target's process calls my COM methods to get information. Am I not allowed to use CRT types or pointers to CRT types near that interface boundary? I would love for my I...

C++ - Memory leak testing with _CrtDumpMemoryLeaks() - Does not output line numbers

Hi. I'm working on a game with SDL in Visual Studio 2010. I came across the _CrtDumpMemoryLeaks() macro and thought I'd give it a go. Invoking _CrtDumpMemoryLeaks() does print memory leaks to the output window, but it does not show where it happens. I've read the MSDN article at http://msdn.microsoft.com/en-us/library/e5ewb1h3(v=VS.80)...

Visual Studio Linking errors. MFC, CRT order?

This questiod had been brought up numerous times, but Visual Studio never gives up to challange me. We have an application that should be self sufficient, i.e not depend on any dlls. This is why we build everything statically with MT(d) code generation flags. The app depends on Qt, zlib, OpenSSL and DCMTK. All of them were built as sta...

How to make a C++ EXE larger (artificially)

I want to make a dummy Win32 EXE file that is much larger than it should be. So by default a boiler plate Win32 EXE file is 80 KB. I want a 5 MB one for testing some other utilities. The first idea is to add a resource, but as it turns out embedded resources are not the same as 5 MB of code when it comes to memory allocation. I am think...

Make Visual Studio 2008 use 8.0 CRT Libraries?

is there a simple way to make Visual Studio 2008 use 8.0 CRT libraries in my c++ project? I really do not want to install Visual Studio 2005 just to do this. Thanks ...