Microsoft Visual C++ 8.0 compiler error which occurs when the C++ class API and /or the number of C++ classes in a DLL becomes too large - visual-c++-2008

I was wondering if anyone knew what the number of the Microsoft Visual C++ 8.0 compiler error which occurs when a C++ class API and /or the number of C++ classes in a DLL becomes too large.
Thank you for your help.

My answer to this question is:
That would probably most likely be Microsoft Visual C++ compiler C1002
(http://msdn.microsoft.com/en-US/library/c9e6fs6b%28v=vs.80%29.aspx):
"compiler is out of heap space in pass 2"
Fatal Error C1002
Visual Studio 2005 Other Versions Visual Studio 2012 Visual Studio 2010 Visual Studio 2008 Visual Studio .NET 2003 1 out of 3 rated this helpful - Rate this topic
Error Message
compiler is out of heap space in pass 2
The compiler ran out of dynamic memory space during its second pass, probably due to a program with too many symbols or complex expressions.
To fix by using the following possible solutions
1.Divide the source file into several smaller files.
2.Break expressions into smaller subexpressions.
3.Remove other programs or drivers that consume memory
Please let me know your opinionof this proposed answer.
the solution to this problem i was told this morning is to close the Visual Studio C++ 2008 environment and then restart ii up again.

Shown below is the latest answer I received to the Stack Overflow question:
Microsoft Visual C++ 8.0 compiler error which occurs when the C++ class API and /or the number of C++ classes in a DLL becomes too large
"the compiler's input objects are source files, not dll's. the dll is output of the linker. i never have seen a source file that was too big for compilation. the biggest file i can remember had about 50,000 lines. it probably included header files of same or greater total size.
if your system is low on heap memory it is more likely that the linker would report problems or error because of this. in my opinion it is only a rare chance to happen on a modern system. you also could/should upgrade to newer version of visual studio, for example visual studio 2012 (vc11) is 7 years younger than your compiler. if you were developing on windows xp you should go to vs2008 (vc9) which is more stable than vc8"

Related

CUDA Atomic Functions

I'm using Visual Studio 2015 along with CUDA runtime 8.0. I've been trying to use atomic functions but am not able to include the proper header file. I've seen answers where they've used sm_11 to compile the code but what will be the procedure in Visual Studio?

WinDbg load MSEC.dll

I want to load MSEC.dll in windbg Version 6.12.0002.633 X86.
when I use the command !load MSEC.dll
it says:
The call to LoadLibrary(MSEC.dll) failed, Win32 error 0n127
"The specified procedure could not be found."
Please check your debugger configuration and/or network access.
I changed the version to 6.11 and I also installed visual studio 12 run time with version 12 but it doesn't work!
Is there any way to handle this issue?
When we extract Bang Exploitable (!Exploitable) it creates 2 Folders:
x64
x86
Open the folder as per your Project Bit Size. Now inside that folder, you will get 2 another folders:
Release
Debug
Copy the files from release folder to the folder that contains the executable of windbg.
Sometimes you may also need to change the version of windbg for making it compatible with bang exploitable.
Download
http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools/dbg_x86.msi
I had the same issue (winxp sp3, windbg 6.12..., !exploitable 1.6). Installing CRT 11 runtime did not work for me. So, the only solution I've found is to use the older version of !exploitable (1.0.6), you can download it here: https://msecdbg.codeplex.com/releases/view/28935
I spent all morning trying to figure this out.
Codeplex was retired in 2021 and this assembly appears to be abandoned by MS so it's difficult to find information.
The site I'm linking to below indicates that you need the Visual C++ 2012 redistributable installed on the target machine to remove this issue.
The same site also statically linked the required files in the source code and rebuilt with VS2017. I downloaded the altered DLL and am now able to load msec.dll with the full path to the assembly in the command.
https://blog.didierstevens.com/2018/07/17/exploitable-crash-analyzer-statically-linked-crt/

mex -setup seems complete while during compilation i get error "no compiler installed"

I am using Matlab 2012a on a W7 64-bit machine. Don't quite remember now, it was half a year ago when I installed stuff, so now I can only guess the sequence based on installation dates.
Right now I've got Matlab, Matlab compiler runtime, MS Windows SDK 7.1 and .NET Framework 4 and many other perhaps unnecessary programs (I found e.g. MS Visual C++ 2008 standard compilers).
Recently I tried the procedure stated here , to no effect. I haven't reinstalled anything yet.
I may attach list of programs with installation dates, if necessary.
The problem is as follows - even though I've completed mex -setup (and it seems it succeeded, it shows the correct path to SDK 7.1 and accepts it), during compiling a model in simulink I get an error "an installed compiler was not detected". I'd like to know what should I do now.
Lots of people have this problem on Windows 7, and while Mathworks has published a solution, I spent several days trying and re-trying it to no avail.
As a work around, re-install Matlab as 32-bit. It comes with a built-in compiler, and Mex seems to work out of the box. Less than ideal but it works.

Is it possible to create a win64 MEX file that does not require Microsoft Visual C++ Runtime libraries

I am trying to see if you can distribute a MEX file without requiring the end user to install the C++ runtime libraries.
When you use visual 2010 express to create MEXs, Matlab issues this warning :
Warning: Applications/components generated using Microsoft Visual C++
2010 require that the Microsoft Visual Studio 2010 run-time
libraries be available on the computer used for deployment.
To redistribute your applications/components, be sure that the
deployment machine has these run-time libraries.
Is there a compiler that doesn't require to install the run-time libraries on the end machine?
Yes there is: MinGW(-w64) GCC. It only links to the OS library msvcrt.dll (when you link with the -static option), which requires no installation and is part of Windows.
To get Matlab to work with that, you'll need to jump through some hoops. Here is some information. Ignore the Cygwin stuff, and be sure to use a MinGW-w64 toolchain targetting x64 Windows from the link above. Note I haven't personally tested this, but this is your best bet. It's also unsupported by Mathworks, so you are on your own.
As an aside, what's the problem with installing the MSVC++2010 redistributable anyways? There's no effect on licensing, and running MEX code implies having Matlab installed. Installing one more little thing won't be that much trouble IMHO.

Get started with CUDA in Matlab

Hey there,
I need to get started to Cuda in Matlab. As I need additional functions than provided from matlab, I need to write my own c++ code, e.g. I want to run my program on 1..N GPU-processors and compare the results to calculate the speedup, which is not supported by Matlab itself (as Matlab always optimizes itself to use all processors).
Now I wonder how to get started best. I already read a lot of papers, but I still wonder for example, what those files are all about:
.cu
.cubin
.ptx
.mex
So which way do I need to go? Writing my code to a .cu file and than compiling it (which tool to use?
My computer is:
Q9550 with GTX460,
Win7 x64,
Matlab R2010b x64,
Visual Express C++ 2008 (free -> 32bit version),
Cuda Toolkit 3.2 (64bit),
Latest Nvidia Driver and GPU Programming SDK 3.2.16_win_64
How to get on? When I try to open one of the examples out of the GPU Programming SDK, e.g. the file vectorAdd_vc90.vcproj ouf ot C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\vectorAdd
I get
"The following XML parsing-error occured:
File: C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\vectorAdd\vectorAdd_vc90.vcproj
Row: 22
Column: 4
Fehlermeldung:
The user build-file "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCProjectDefaults\NvCudaRuntimeApi.rules" wasnt found or couldn't be loaded
The file "C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\vectorAdd\vectorAdd_vc90.vcproj" couldn't be loaded"
When I just open the vectorAdd.cu I don't find any way to compile it to run it in Matlab. Perhaps it would also be possible to just work completely without Visual Studio, so that I write my code in Notepad++ for example and compile it myself?
Thanks a lot in advance guys!
If you have access to Parallel Computing Toolbox, you can use the GPU directly using GPUArrays. You can also more easily integrate your own hand-written CUDA code using the parallel.gpu.CUDAKernel object
If the parallel toolbox isn't available, you can still use the mexFunction capability to use the GPU's
http://www.mathworks.com.au/help/distcomp/create-and-run-mex-files-containing-cuda-code.html
I dont think this is available for earlier versions than 2013a. In this case, you can write the mexfunction entry point and include the cuda function calls to pass the memory to and from the device
http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/