Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   Changes from VS 6 to VS NET 2003 (https://forum.exetools.com/showthread.php?t=6588)

joejoejoe 01-29-2005 01:56

Changes from VS 6 to VS NET 2003
 
Can anyone please explain some of the changes from VS 6 to VS NET 2003 besides the GUI like Compiler specific things?

Also is there any commands to add or omit to make it compile most like VS 6 and less for .NET Standards. A lot of my code that worked before now no longer works with .NET 2003.

thanks

Hero 01-29-2005 03:30

I thinks the best answer is that there is nothing similar between these two versions!
Because in VS 2003 .NET,the VS is became behind an layer named .NET framework
and every program is written for this layer language(Don't look it the apperance
of language that compiled code in deferent.)
This is theoricaly for making VS 2003 .NET portable between deferent OSs.
VS 2003 .NET is compiling to MSIL(Microsoft Intermediate Language) but the earlier
versions will be compiled for system OS direcly(asmbelly language).
If somebody want to work with OS basic structures,Normaly should use VS 6 because
It is more powerfull than VS 2003 .NET for working with system.

sincerely yours

FEARHQ 01-29-2005 04:07

VS.NET can perfectly well produce native PE files just fine, thanks. Vc.NET has nothing to do with .NET

A difference I did notice is that you now must use the
#pragma comment(lib, "libname")
to include any library else linker will fail. That's probably what's messing you up

ArC 01-29-2005 19:10

1 Attachment(s)
Quote:

A difference I did notice is that you now must use the
#pragma comment(lib, "libname")
to include any library else linker will fail. That's probably what's messing you up
You can specify the libraries to use in the linker configuration tab. See the attachment.

And as FEARHQ already said, VC++ .NET can produce native win32 apps. Of course this depends on which components you install. If you only install Visual C# or Visual Basic .Net you can only produce .NET apps :D

In VS .NET they also updated MFC from 4.x to 7.x.. 7.x for instance supports HTML dialogs.

The debugger was improved. DLL debugging has become a bit easier.
Quote:

Also is there any commands to add or omit to make it compile most like VS 6 and less for .NET Standards. A lot of my code that worked before now no longer works with .NET 2003.
To make your code compatible at first you should look what problems the compiler/linker has (e.g. are there libraries/header files missing, does the compiler have problems with certain expressions, ....). Missing libraries/header files can possibly be fixed in short time. Same goes for certain errors during compilation. Anyways if you get errors like INTERNAL COMPILER ERROR or sth it can get a bit more complicated.

Satyric0n 01-29-2005 20:25

Just chiming in to say Hero is indeed wrong. All versions of Visual C++, including 2002, 2003, and the upcoming 2005, can produce non-.Net pure native win32 code.

I don't understand where people get this idea stuck in their heads... :rolleyes:

Hero 01-29-2005 20:51

Quote:

Just chiming in to say Hero is indeed wrong. All versions of Visual C++, including 2002, 2003, and the upcoming 2005, can produce non-.Net pure native win32 code.
Perhaps I make my idea unclear,I mean THAT every program that is written for .NET
is compeletly deferent from that we code in VS 6(It isn't .NET,isn't it?) because
that will compile to MSIL for framework and VS 6 is not in that way.
I know that we can make program for native win32 by VS 2003,but not in .NET
mode and we should use for example MFC.

sincerely yours

joejoejoe 01-30-2005 00:31

Quote:

Originally Posted by ArC
You can specify the libraries to use in the linker configuration tab. See the attachment.

And as FEARHQ already said, VC++ .NET can produce native win32 apps. Of course this depends on which components you install. If you only install Visual C# or Visual Basic .Net you can only produce .NET apps :D

In VS .NET they also updated MFC from 4.x to 7.x.. 7.x for instance supports HTML dialogs.

The debugger was improved. DLL debugging has become a bit easier.

To make your code compatible at first you should look what problems the compiler/linker has (e.g. are there libraries/header files missing, does the compiler have problems with certain expressions, ....). Missing libraries/header files can possibly be fixed in short time. Same goes for certain errors during compilation. Anyways if you get errors like INTERNAL COMPILER ERROR or sth it can get a bit more complicated.

So do I just open up a project and set those settings and expect it to work. Is there any places where I have to say ... "no.. not .NET .... its Win32"?

Thanks. I'm accustomed to using VS 6 but I'm trying to get over to the .NET 2003 IDE.

Crk 01-30-2005 02:24

exactly don't know which are the advantages of using MSIL/.NET language ? since needs like 30 MB of libraries for .net framework crap ... program runs veryyyy slow and sure they takes more resources and ram...they believe in this way they will prevent cracker to reverse it??? 1 of the reasons.. what others they have? ;) microsoft should implement new programming method using MASM .... short exes, very fast and winall working...

My 1 Cent left ..

doug 01-30-2005 03:57

@Crk:
Using the same reasoning, why Java, why C++, why C, why Macros in assembler, why not link the programs yourself, the linker adds 'bloat' too ?

I couldn't resists posting, but honestly you should really research before posting comments like that. You can do the hero programming on your own, but there are people who work in groups, on large scale projects, and need to deliver something that works and fast.

The fact that it runs inside an interpreter has more to do with having a framework that provides good memory management, built-in security, rapid development, portability than anti-reverse engineering. In fact, it has nothing to do with anti-reverse engineering since a lot of structures from the source code have to be left inside the .net code to run correctly.

mihaliczaj 01-30-2005 05:08

Quote:

Originally Posted by joejoejoe
Can anyone please explain some of the changes from VS 6 to VS NET 2003 besides the GUI like Compiler specific things?
...
A lot of my code that worked before now no longer works with .NET 2003.

I had no trouble converting VS6 projects/workspaces to VS.NET2003 solutions except for the C++ language compliance issues.
VC++6 has terrible language support, but VC++.NET2003 is the most standard compliant C++ compiler I know.
Some issues:
* for scope
Valid VS6 but invalid VS.NET2003:
Code:

for (int i = ...) {}
if (i == ... ) // supposed i is not declared before for

* template handling
it basically differs
* VS6 allows temporary objects to be passed by non-const reference:
Code:

class C { C(int); };
void f(C&);
f(5); // invalid call, but no error msg in VS6

Would you quote some error messages or some more details on what the exact problem is?

ArC 01-30-2005 17:12

Quote:

Originally Posted by joejoejoe
So do I just open up a project and set those settings and expect it to work. Is there any places where I have to say ... "no.. not .NET .... its Win32"?

If you convert a VC++ 6.0 project to VS .NET it is automatically configured to produce native Win32 apps.
If you create a completely new project you have to choose which type of project you want to create. If you decide to create a Visual C# project the output will be a .NET executable. A Visual C++ project will produce native Win32 apps whereas those projects can be configured to use the .NET framework, too. But even in that case it should still produce native apps.
Quote:

I had no trouble converting VS6 projects/workspaces to VS.NET2003 solutions except for the C++ language compliance issues.
Some time ago I compiled a project with VS .NET 2003 and I encountered an INTERNAL COMPILER ERROR. The same project compiles just fine with VC++ 6.0 + latest SP + Processor Pack.

Crk 01-31-2005 03:14

Using the same reasoning, why Java, why C++, why C, why Macros in assembler, why not link the programs yourself, the linker adds 'bloat' too ?

java is total difference than .net ... i know your point of view but also c++ and C is also totally difference,.. all of them run very stable and fast like old school ASM programing rulez... for example compile your Visual Basic 6 or C++ application like classic method.... now transform it to .NET ... don't tell me bull_shit it will be the same... and i know what i'm talking here.. i'm not kidding/playing kids games here. i'm not a programmer but i know what i wrote.
i respect your desicion and likes.. i know you like .NET but i made an opinion like anyone else .. for me .NET suc_ks ... you should respect my point of view as well.

doug 01-31-2005 05:44

I'm not defending .NET against any other technology, I'm just stating that you have no idea what you are talking about. I'm not argueing on whether you can like the language or not; I'm pointing you the reasons for the existance of this language and why it is used.

You don't compare languages strictly by the size & speed of the the executables they produce. If that's how languages were determined as good ("assembly rulez") or bad ("30 mb crap of libraries"), we would all be programming in assembly, which clearly is not the case.

Who cares about C++ and VB... managed code is all about C#. You missed the point.

AgentSmith 01-31-2005 17:04

Hello,

I agree with Arc, if you start a new project you'll see that only C++ has 5 subgroups (NET, MFC, Win32), so C++ will not force you to use .NET.

If you want to build Win32 apps but not using managed code, framework is not that good compared with the managed code.

Micro$soft is really pushing NET. Yesterday I installed Win2003 server and it comes with NET framework. But one thing is I do not understand why do they have two from designers in C++, one for managed code and one for unmanaged. They could come up with one designer. It seems that they won't more money from their customers.

Anyway, if you want to still producee Win32 app my advice to you is stick with the VS 6. VS.NET will not give you any real advantages when it comes to Win32 apps. VS.NET IDE is better, but VS 6.0 still rocks.

Regards,
asmith

mihaliczaj 01-31-2005 19:36

Quote:

Originally Posted by AgentSmith
VS.NET will not give you any real advantages when it comes to Win32 apps. VS.NET IDE is better, but VS 6.0 still rocks.

I would argue with this. The C++ language support is definitely a point it is worth changing for. I don't treat VS6 a C++ compiler, but for mainly C projects it is almost as good as VS.NET.

ArC 01-31-2005 23:34

Quote:

But one thing is I do not understand why do they have two from designers in C++, one for managed code and one for unmanaged. They could come up with one designer. It seems that they won't more money from their customers.
Hm I never really used managed code but I assume it's because of the dialog elements. .NET provides additional dialog elements and properties (such as the background color of a dialog; the form/dialog editor for native apps does not provide this functionality).

Crk 01-31-2005 23:40

Mr. Doug again... you clearly missed my point.. yes i'm talking about speed.. and never mentioned other languages which i consider very goood with stability/speed and without using any 30 MB of libraries except the ones windows brings by default framework don't give any advantage?? you haven't asnwer my cuestion.. what advantages it gives.. apart of other way of microsoft to gain more $$.. maybe you work for microsoft developers for framework.. ;) ..hehehehe

and yes i know what i'm talking .. i have used many program of any kinds and protections... and never seen before such crap as .net programing ..used to use a program for editing pictures and it was builded using VB 6 ...author cames with .NET and there was many differences apart of taking ages to load and some times bringing dialog errors... etc also had to get framework.again 30 MB of libraries.... GOD save me from framework again i instantly get rid of the crappy stuff and never used again.. if you're a developer think about changing for a good programming language to framework...you could lost many customers for that reason.. it's like using asprotect and then becoming to use Armadillo with copymen .. just an example .. with Ultraedit.. many people don't like it since it uses copymen.in my case i still use version 10.0c :-)

Regards

joejoejoe 02-01-2005 08:15

Ok... Is there enough difference that I should stick to VS 6 and use both??

Basically... how can I make VS NET 2003 act ALMOST EXACTLY like VS 6...?

How do I stop it from using/thinking about .NET.

Thanks.

ArC 02-01-2005 16:19

1 Attachment(s)
Quote:

Basically... how can I make VS NET 2003 act ALMOST EXACTLY like VS 6...?

How do I stop it from using/thinking about .NET.
As I already said: Open a VC++ 6 workspace in VS .NET and it will automatically "act" like VC++ 6 (create native x86 win32 code) or create a new project as shown in the attached screenshot.

Satyric0n 02-01-2005 18:52

joejoejoe,

As ArC said, choose any project type except .Net project (win32, MFC, ATL, etc) and it won't reference .Net in any way.

As for reasons to use VC++ 2003 over VC++ 6, as I posted in another thread, this was posted by Stan Lippman (Author of Essential C++, C++ Primer, etc, and one of the lead developers on the VC++ compiler) on his blog:

"I have a beef with some folks out there. I have spent 3 years now within the Visual C++ team. We have a dozen exceptional compiler folks – it's too bad you don’t know them, because you would be very impressed with them – their knowledge, their passion. And yet 3 years of their work on our C++ compiler – in terms of performance, in terms of correctness, in terms of robustness – oh, and in terms of the language itself – is being dismissed by our rogue group of folks who, in an emotional protest against what they must see as an attack on C++, refuse to move from Visual C++ 6, which was fine when it was released, but isn't any longer fine. you shouldn't be using it. anymore. And they persist, and you can't talk to them, because either they are angry or they are really angry. But the bottom line is, we've poured our blood into the gosh-darn compiler. we have at least a hundred people working every day to make it better. no one else in the world cares about C++ more than we do. I know, that sounds so absurd. but that's the truth of the landscape right now. whatever Microsoft may have been in the past – and people always have stories about it. Did I tell you the one where the guy from Microsoft calls Bjarne up at home and tells him that if he doesn't make the language left recursive look ahead 1 they wouldn't go ahead with a c++ compiler. who would want to work for a company like that? I mean, you'd like to see them fail. So we all have a lot of bad feelings about Microsoft. But I think a lot of that is in the past. certainly, for me, this is a very creative and genuine place to work. I spent 1.5 working on the firebird sequence of fantasia and that was all I cared about work-wise. that is what I thought about all the time. well, the people here think about C++ all the time. it's so weird. Jeff Peill knows the language better than I do now. And these Visual 6 guys don't get it. We've poured our blood into these releases. You're just being stubborn. Compilers are works in progress. you don't want to keep using an old compiler. it's not safe. it's not good for the programmers or the business. Well, that's my beef with folks – or some folks. I really have no patience with them. I'm sorry if I've offended them."

In short, from the man behind the VC++ compiler, stop using VC++ 6! :D

See also:
hxxp://blogs.msdn.com/branbray/archive/2003/11/11/51012.aspx
hxxp://blogs.msdn.com/hsutter/archive/2003/11/17/53495.aspx

joejoejoe 02-01-2005 21:55

Great. So I just pick a Win32 project and waalaa ... no more .NET?

Awesome if so... and also you said I can import projects in from VC++... can you give a bit more info on that cause I'm having trouble with that. It still seems to want to goto a NET application....

Is there maybe a preference I need to reset?

Thanks again.

ArC 02-01-2005 22:00

Quote:

can you give a bit more info on that cause I'm having trouble with that. It still seems to want to goto a NET application....
If there're errors then please post them here (e.g. what messages does VS.NET show, etc... ). Otherwise it's hard to help.

joejoejoe 02-03-2005 22:02

Quote:

Originally Posted by ArC
If there're errors then please post them here (e.g. what messages does VS.NET show, etc... ). Otherwise it's hard to help.

I'm not at my computer but it says something along the lines of "failed to import" something about a missing resource...

if that helps... if not I can look at the error screen again tonight.


All times are GMT +8. The time now is 19:44.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX