Saturday, January 20, 2007

VS 2005 could not debug C++ program

By default, you compile the C++ source codes and want to run it with debugging. You will get an 
information like "Could not find program.exe's debug info." or "Debug info is wrong, could not generate binary file".

Some people will think this is something wrong with his source codes, but it is the problem of his 
development environment. Bang~ You did not configure your Visual Studio correctly.

Solution:

Click the project properties, and get the property dialog pops up.   In the dialog, you can choose Debug Configuration, and modify the config properties. Under the "C/C++" tag in the property tree, you can see something insteresting to you on the right panel. There is a row called "Debug Info Format". By default, it is "Disable" or not configured.

If you want to make it works, just choose one option from the list clicked out. "C7 Compatible(/Z7)"/"Program Database(/Zi)" would be two of the possible options. In my case, I choose "C7 Compatible(/Z7)". It works when I re-debug the same program.

Execute cl.exe pops up mspdb80.dll not found error

If you install the Visual Studio 2005, and if you want to execute the cl compiler from the 
command line, definitely, you can get an error pops up.

Under windows standard command line, a dialog with string like "Cannot find mspdb80.dll" will come out;

Under cygwin command line, some unknown error dialog will come out;
     p.s.: Until now, I still can not fix the problem under cygwin.

Solution to Windows Standard Command line:

Just run the script "vcvarsall.bat" before invoking cl.exe program. Then the development environment will be set well for the current command line. After a successful string comes up, all is done, you can use the cl.exe normally.

Definition of IPO

IPO

(Initial Public Offering) The first time a company offers shares of stock to the public. While not a computer term per se, many founders, employees and insiders of computer companies have found this acronym more exciting than any tech term they ever heard.

Friday, January 19, 2007

A little thing about cl compiler

As we all know, using Visual C++ to compile a little program is not convenient. So I decided to use the cl compiler in the commandline to do this job.

1. Source codes: FolderUtility.h TestFolder.c
//=========================================
//FolderUtility.h part of the source
#include
#include
#include

using namespace std;

void CreateDir(char* path)
{
........
}

........
//==========================================
//TestFolder.c
#include "FolderUtility.h"
#include

int main(void)
{
CreateDir("./sub1/sub2");
EmptyDirectory("./sub1");
printf("Finished.\n");
return 0;
}

At first, I use the command: cl /GX TestFolder.c, but it did not work and pops up some errors.

2. Rename the file "TestFolder.c" to "TestFolder.cpp". Reuse the compiling command again, it works... This proves that the cl compiler will use the postfix of the filename to judge something in the process.

p.s.: /GX means enabling C++ exception handling;

I am not familier with the cl compiler, so there is a lot of things to dig if I want to use it professionally. 

You can see how others decorate their rooms~

http://www.normalroom.com 

There are many pictures of other people's houses, it is worth watching~

Monday, January 15, 2007

JDK/JRE 5/6 could not install on my VISTA

I did not know why, but the JDK/JRE 5/6 both could not install on my VISTA HOME PREMIUM... Could anybody tell me why?

I always get an error near the end of the installation. :( 

Online education resources

http://www.eliteskills.com/free_education/

On this webpage, it collects massive online education resources, such as MIT, Berkeley, CMU, or podcast materials. It is very helpful. Surfing it by yourself, give your comments if you like.

p.s.: I got it from solidot.org website.