pouët.net

Actual status of intros & dll's

category: general [glöplog]
Hey all!

Whats the actual status of use dll's in intros?

I mean... if I need to use the msvcr90.dll is ok? with manifestFile embedded :S (I'll use as data in the intro ^_ ^ )

any on is using c++ in intros? or the last VS compiler... ?
and using STL?! :S O_o

KS
afaik, using msvcr90.dll is NOT accepted. d3d[Version].dll and d3dx[Version]_XX.dll is accepted. For OpenGL I don't know.

I have used C++ for coding 4k graphics with VS2005 and VS2008.
added on the 2009-08-25 05:36:16 by src src
you can do c++ and stl in 64k intros with no problem. just be careful, not all of the stl containers are designed for real time graphics and thus not fast in all situations :-)
also make sure your compiler is rock solid, or else its brains will explode due to million and one different underlying function calls (all of which should get inlined IN THEORY) from a simple STL algorithm / method call.
added on the 2009-08-25 08:09:31 by decipher decipher
boost is even worse :-)
macaw: are you sure about the stl+64k thing? I mean, I've also been using it once (when size didn't matter that much and I was lazy) but without using it the intro became significantly smaller.
that was some years ago though.
kammutierspule: I guess only few people would do a 64k without c++ these days :)
added on the 2009-08-25 08:23:03 by styx^hcr styx^hcr
Quote:
using msvcr90.dll is NOT accepted.
Are you sure? I see no logical reason for linking to msvcr*.dll not to be accepted. It's standard runtime.
added on the 2009-08-25 09:07:34 by masterm masterm
masterm: no it's not, until you install msvc runtime.
src: d3dx needs a runtime package also, why is it accepted?
styx, of course your binaries will get smaller if you don't use stl. i was just saying that it's not impossible.
msvcrt.dll is present in any 32bit OS starting from 95b (*not* on the first release).

Relying on msvcrt.dll is no crime. All the other version are not usually present (maybe msvcr71 and 80 in latest OS). AFAIK 90 isn't present in Vista and 2008, so I would avoid it if possible.
A general recompile with VS2005 in place of 2008 is usually no problem.

Most of the things will compile smoothly even on VS6 (which uses plain msvcrt.dll) if you make the for ISO compliant with the trick of redefining the keyword "for" as "if (0) else for" (I usually do it as a compiler switch). I never had problems with dinkumware stl and this switch, but, who knows what obscure stl functions will rely on ANSI for behaviour?

I saw other people forcing VS2005 to link against VS6 runtime, but can't remember how they made it (IIRC it involved forcing the removal of standard libraries, adding the msvcrt.dll implib and then defining a couple of variables and/or functions). Never seen anyone doing the same with 2008, though.
added on the 2009-08-25 09:47:39 by pan pan
I forgot to mention, OpenGL is supposed to be a system library, so again, it's no crime.
added on the 2009-08-25 09:48:33 by pan pan
The problema I'm facing is: If I dont bypass the entrypoint, and make the .lib do it. It will add lots of functions by new 90.lib (i try strip it down with every compiler options and .h defines but no total result)

remmember that: C++ != STL

If I overpass the .lib startpoint, it wont startup correctly the STL and first time I use 'vector' or something it will crash.

I've try used old vc6.0 with vs2009 but not much sucess... if it compile.. it crash somehere...

Is msvcr71 pacific? I think it comes with last XP packages.. whats the MSVS that compiles for it?

KS
I don't see why you'd even need to link the lib in the first place. Most of the useful functions for 4k in there can be done with simple inline asm afaik.
added on the 2009-08-25 10:36:06 by ferris ferris
Ferris: Maybe he's doing 64k?
Besides, some math functions like exp() are implemented in the CRT library only, so you can either re-implement them in your code, use crtdll.dll/msvcrt.dll or link the C runtime statically.
added on the 2009-08-25 10:59:49 by KeyJ KeyJ
Quote:
C runtime statically

and what's it then 256k?
added on the 2009-08-25 11:22:02 by decipher decipher
using directX dev libs and gluSphere etc in a 4k intro is only for lamers and wannabees. Which makes the 4k scene a big ROFL for me in many situations. ZERO respect.

Most 4k intros today won't run because they miss some directX crap DLL's which I DON'T WANT TO DOWNLOAD AND THEN I DELETE THE INTRO INSTANTLY!!!!!!!!!!

If you are even considering what other DLL's that don't come with the OS or drivers that are installed, you're about to FAIL. IMHO of course.
added on the 2009-08-25 11:33:01 by jaw jaw
Yes, its for 64K.
STl & intros doesn't fits good :\

I dont know why i'm using it, I was allways a C programmer :S

C++.exe > 64K || 90.dll ... C programmer crys :'( -_-
jaw, please make of your posts in capital letters - it's so much easier to understand and respect.
kammutierspule, if you were always a C programmer, why don't you make it in C? (or in C-style with a C++ compiler, there's no real practical difference. I myself have become very fond of using "C + exceptions" for embedded programming and whatnot)

if you do it decently, with well prefixed functions and structs acting a bit like objects, and using c-files for singleton objects and proper function hiding, you can get most of the effectivity of c++ maybe even without some additional design overhead (as reorganising code is often simpler). so if you're comfortable with that, what's stopping you?

i doubt you really need inheritance and polymorphism in many cases anyway. (okok, ofcourse DX has it, but that does not mean you need it - last time I looked few DX classes were meant to be inherited from)
added on the 2009-08-25 12:08:49 by skrebbel skrebbel
@jaw: What macaw said. And also, considering your latest comment on Elevated and overall disrespectful attitude, you're an idiot.
added on the 2009-08-25 12:19:52 by masterm masterm
I'm not a pro programmer, and I dont have oportunity to learn and practice C++ so I took this oportunity :S

I'm using C++ with no problems maybe in all the intro.
I must avoid STL and some possible weird stuff..

Maybe a bit more work in the workspace and mylib tools is need!
masterm: jaw used to be cool. maybe something nasty happened to him recently?
added on the 2009-08-25 12:25:25 by skrebbel skrebbel
My sarcasm detector has a blinking red light and the klaxons are going off.
added on the 2009-08-25 13:09:10 by Preacher Preacher
skrebbel: was wondering the same thing... probably one word - "linux".
added on the 2009-08-25 13:15:03 by Gargaj Gargaj
jaw: you're so right - it's only a real 4k if it comes with a bootloader! using a pre-installed OS is for lamers and wannabes.
added on the 2009-08-25 13:24:11 by smash smash

login