gamedevlists-windows Mailing List for gamedev (Page 11)
Brought to you by:
vexxed72
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(48) |
Oct
(58) |
Nov
(49) |
Dec
(38) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(124) |
Feb
(83) |
Mar
(17) |
Apr
(37) |
May
(12) |
Jun
(20) |
Jul
(47) |
Aug
(74) |
Sep
(62) |
Oct
(72) |
Nov
(54) |
Dec
(13) |
2003 |
Jan
(36) |
Feb
(8) |
Mar
(38) |
Apr
(3) |
May
(6) |
Jun
(133) |
Jul
(20) |
Aug
(18) |
Sep
(12) |
Oct
(4) |
Nov
(28) |
Dec
(36) |
2004 |
Jan
(22) |
Feb
(51) |
Mar
(28) |
Apr
(9) |
May
(20) |
Jun
(9) |
Jul
(37) |
Aug
(20) |
Sep
(23) |
Oct
(15) |
Nov
(23) |
Dec
(27) |
2005 |
Jan
(22) |
Feb
(20) |
Mar
(5) |
Apr
(14) |
May
(10) |
Jun
|
Jul
(6) |
Aug
(6) |
Sep
|
Oct
(12) |
Nov
(1) |
Dec
|
2006 |
Jan
(18) |
Feb
(4) |
Mar
(3) |
Apr
(6) |
May
(4) |
Jun
(3) |
Jul
(16) |
Aug
(40) |
Sep
(6) |
Oct
(1) |
Nov
|
Dec
(2) |
2007 |
Jan
(5) |
Feb
(2) |
Mar
(4) |
Apr
(1) |
May
(13) |
Jun
|
Jul
(26) |
Aug
(3) |
Sep
(10) |
Oct
|
Nov
(4) |
Dec
(5) |
2008 |
Jan
(1) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Mat N. \(BUNGIE\) <mat...@mi...> - 2005-02-09 18:34:45
|
If you want to view the stack in a debugger later, you can also generate a minidump via MiniDumpWriteDump. MSN -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Jon Watte Sent: Wednesday, February 09, 2005 9:24 AM To: gam...@li... Subject: RE: [GD-Windows] Call stack In debug mode, you can walk the EBP frames pretty easily. Use=20 some inline assembly or setjmp() to read the value of the register=20 and then treat it like a pointer-to-void*, and you're good to go. In release mode, it might still be possible to do, assuming you=20 don't turn on the "omit frame pointer" optimization. Sadly, that=20 optimization gives you another whole register to play with, so it's=20 usually something you'll want for your shipping builds. At that=20 point, I've had reasonable success with scanning the stack for=20 addresses that point right after a CALL or JMP REG instruction=20 (JMP REG is used for DLL/vectored calls). In debug mode, it looks like this: #include <stdio.h> __declspec( naked ) char ** get_ebp() { __asm { mov eax, ebp ret } } // the stack root needs to be thread-local for multi-threaded // applications char ** root =3D 0; void init_callstack( void * ptr ) { root =3D (char **)ptr; } void callstack( char const * name ) { char ** ptr =3D get_ebp(); while( ptr < root ) { printf( "%s: frame: %08x caller: %08x\n", name, *ptr, ptr[1] ); ptr =3D *(char ***)ptr; } printf( "\n" ); } void func3() { callstack( "func3" ); } void func2() { callstack( "func2" ); func3(); } void func1() { func3(); func2(); } int main( int argc, char * argv[] ) { int temp; init_callstack( &temp ); func1(); return 0; } C:\temp>stack.exe func3: frame: 0012ff6c caller: 0040106d func3: frame: 0012ff74 caller: 00401091 func3: frame: 0012ff80 caller: 004010ad func2: frame: 0012ff6c caller: 0040107f func2: frame: 0012ff74 caller: 00401096 func2: frame: 0012ff80 caller: 004010ad func3: frame: 0012ff64 caller: 0040106d func3: frame: 0012ff6c caller: 00401087 func3: frame: 0012ff74 caller: 00401096 func3: frame: 0012ff80 caller: 004010ad Turning the addresses to actual function named needs the use of the=20 DbgHelp library, which can open and use pdb files for you. Cheers, / h+ -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Diogo de Andrade Sent: Wednesday, February 09, 2005 5:43 AM To: gam...@li... Subject: [GD-Windows] Call stack Hey all! This is a long shot, but is there any way to output the call stack in MSVC 6.0? More precisely, I'm having some problems with the recording/playback in my engine, and I tracked it to the random number generated (when on playback, it is being called more often than on recording, which is a strange behavior). Anyway, I'm logging the output of the random number generator (this is how I found out the asynch), but it would be really helpful if I could output to the log file the call stack just to see exactly WHO is calling the random number generator out of turn... Is there any "simple" way of doing this (just for debug purposes)? Thanks in advance (and sorry if this is OT, but I'm not sure) Diogo de Andrade Creative and Technical Director Spellcaster Studios dio...@sp... ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 |
From: Grills, J. <jg...@so...> - 2005-02-09 17:47:59
|
I have very similar code for walking the stack. My code works on many versions of windows, but it has stopped working as of Windows XP SP2. I even did a test on a machine where my test program worked, I upgraded to SP2, and the test program stopped working, so I know it had something to do with the SP2 upgrade. StackWalk won't walk the whole stack - it just gives up after returning 2 call stack frames. I've ended up having to rewrite StackWalk myself (which isn't very hard, if you disable the "Frame pointer omission" optimization, since you can use the EBP register to walk up the stack). I've complained to Microsoft about this, but they haven't been very quick to try and fix it. Anyone else run into the same problem on XP SP2? If it's just me, then I'll start comparing my code against other implementations (like the one below) to see what I may doing wrong. If it's not just me, I'd be happy to share my stack walking code so that others can work around the issue.. =20 One thing I do differently than most other implementations I've seen is that I don't do any symbol lookup while walking the stack. I have plenty of cases in the engine where I capture a call stack for debugging later if something else goes wrong, and the symbol lookup may not be necessary. For instance, our memory manager can grab a stack for every allocation, and at application exit time we can report the call stack for any memory leaks. Typically all allocations are properly freed, so looking up the symbols when capturing the call stack during an allocation is unnecessary and also seriously impacts performance. In the rare case of a memory leak (most often discovered in new code that hasn't been submitted), very few addresses need to be translated into symbols. =20 Jeff Grills=20 Senior Technical Director, Austin Studio=20 Sony Online Entertainment=20 -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Simon O'Connor Sent: Wednesday, February 09, 2005 7:58 AM To: gam...@li... Subject: Re: [GD-Windows] Call stack =09 =09 =09 I wrote some code a while back that sounds like what you're after - or at least should point you in the right direction: =09 http://www.sc3d.com/thought/snippets/debugging/GetFunctionCaller/ NB: It's not quite what I'd class as "production" quality - it was written for debugging purposes only :o) Cheers, =09 Simon O'Connor Programmer @ Reflections Interactive & Microsoft DirectX MVP =09 =09 |
From: Jon W. <hp...@mi...> - 2005-02-09 17:24:05
|
In debug mode, you can walk the EBP frames pretty easily. Use some inline assembly or setjmp() to read the value of the register and then treat it like a pointer-to-void*, and you're good to go. In release mode, it might still be possible to do, assuming you don't turn on the "omit frame pointer" optimization. Sadly, that optimization gives you another whole register to play with, so it's usually something you'll want for your shipping builds. At that point, I've had reasonable success with scanning the stack for addresses that point right after a CALL or JMP REG instruction (JMP REG is used for DLL/vectored calls). In debug mode, it looks like this: #include <stdio.h> __declspec( naked ) char ** get_ebp() { __asm { mov eax, ebp ret } } // the stack root needs to be thread-local for multi-threaded // applications char ** root = 0; void init_callstack( void * ptr ) { root = (char **)ptr; } void callstack( char const * name ) { char ** ptr = get_ebp(); while( ptr < root ) { printf( "%s: frame: %08x caller: %08x\n", name, *ptr, ptr[1] ); ptr = *(char ***)ptr; } printf( "\n" ); } void func3() { callstack( "func3" ); } void func2() { callstack( "func2" ); func3(); } void func1() { func3(); func2(); } int main( int argc, char * argv[] ) { int temp; init_callstack( &temp ); func1(); return 0; } C:\temp>stack.exe func3: frame: 0012ff6c caller: 0040106d func3: frame: 0012ff74 caller: 00401091 func3: frame: 0012ff80 caller: 004010ad func2: frame: 0012ff6c caller: 0040107f func2: frame: 0012ff74 caller: 00401096 func2: frame: 0012ff80 caller: 004010ad func3: frame: 0012ff64 caller: 0040106d func3: frame: 0012ff6c caller: 00401087 func3: frame: 0012ff74 caller: 00401096 func3: frame: 0012ff80 caller: 004010ad Turning the addresses to actual function named needs the use of the DbgHelp library, which can open and use pdb files for you. Cheers, / h+ -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Diogo de Andrade Sent: Wednesday, February 09, 2005 5:43 AM To: gam...@li... Subject: [GD-Windows] Call stack Hey all! This is a long shot, but is there any way to output the call stack in MSVC 6.0? More precisely, I'm having some problems with the recording/playback in my engine, and I tracked it to the random number generated (when on playback, it is being called more often than on recording, which is a strange behavior). Anyway, I'm logging the output of the random number generator (this is how I found out the asynch), but it would be really helpful if I could output to the log file the call stack just to see exactly WHO is calling the random number generator out of turn... Is there any "simple" way of doing this (just for debug purposes)? Thanks in advance (and sorry if this is OT, but I'm not sure) Diogo de Andrade Creative and Technical Director Spellcaster Studios dio...@sp... ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=555 |
From: Alen L. <ale...@cr...> - 2005-02-09 14:58:18
|
Start here: http://www.microsoft.com/msj/0497/hood/hood0497.aspx . Matt Pietrek wrote some articles and excellent examples on how to walk stack both manually and using dbghelp.dll. I prefer using manual walk and recording just the plain addresses in runtime and then later when dumping decode them to actual symbols. YMMV, Alen ----- Original Message ----- From: "Diogo de Andrade" <Dio...@ne...> To: <gam...@li...> Sent: Wednesday, February 09, 2005 13:43 Subject: [GD-Windows] Call stack > Hey all! > > This is a long shot, but is there any way to output the call stack in > MSVC 6.0? > More precisely, I'm having some problems with the recording/playback in > my engine, and I tracked it to the random number generated (when on > playback, it is being called more often than on recording, which is a > strange behavior). Anyway, I'm logging the output of the random number > generator (this is how I found out the asynch), but it would be really > helpful if I could output to the log file the call stack just to see > exactly WHO is calling the random number generator out of turn... > Is there any "simple" way of doing this (just for debug purposes)? > > Thanks in advance (and sorry if this is OT, but I'm not sure) > > Diogo de Andrade > Creative and Technical Director > Spellcaster Studios > dio...@sp... > > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |
From: Diogo de A. <Dio...@ne...> - 2005-02-09 14:13:39
|
Is there something I should enable/include/etc to make this work? I've tried creating a simple console application and added the files available in the URL you provided, but it just failed. Debug output: =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 GetFunctionCaller() : SymFromAddr() failed. GetLastError()=3D=3D487 GetFunctionCaller() : SymGetLineFromAddr64() failed. = GetLastError()=3D=3D487 =20 (0) : () =20 The thread 0xED8 has exited with code 0 (0x0). =20 Maybe I forgot some flag in the compile settings. Anyway, thanks for the help. Diogo de Andrade Director Criativo e de Tecnologia Spellcaster Studios dio...@sp... -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Simon O'Connor Sent: quarta-feira, 9 de Fevereiro de 2005 13:58 To: gam...@li... Subject: Re: [GD-Windows] Call stack =20 I wrote some code a while back that sounds like what you're after - or at least should point you in the right direction: http://www.sc3d.com/thought/snippets/debugging/GetFunctionCaller/ NB: It's not quite what I'd class as "production" quality - it was written for debugging purposes only :o) Cheers, Simon O'Connor Programmer @ Reflections Interactive & Microsoft DirectX MVP --- "Diogo de Andrade" <Dio...@ne...> wrote: From: "Diogo de Andrade" <Dio...@ne...> Date: Wed, 9 Feb 2005 13:43:16 -0000 To: <gam...@li...> Subject: [GD-Windows] Call stack Hey all!=20 This is a long shot, but is there any way to output the call stack in=20 MSVC 6.0?=20 More precisely, I'm having some problems with the recording/playback in=20 my engine, and I tracked it to the random number generated (when on=20 playback, it is being called more often than on recording, which is a=20 strange behavior). Anyway, I'm logging the output of the random number=20 generator (this is how I found out the asynch), but it would be really=20 helpful if I could output to the log file the call stack just to see=20 exactly WHO is calling the random number generator out of turn...=20 Is there any "simple" way of doing this (just for debug purposes)?=20 Thanks in advance (and sorry if this is OT, but I'm not sure)=20 Diogo de Andrade=20 Creative and Technical Director=20 Spellcaster Studios=20 dio...@sp...=20 -------------------------------------------------------=20 SF email is sponsored by - The IT Product Guide=20 Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.=20 http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick=20 _______________________________________________=20 Gamedevlists-windows mailing list=20 Gam...@li...=20 https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows=20 Archives:=20 http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id=14396&op=3Dick _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU5 |
From: Simon O'C. <si...@sc...> - 2005-02-09 13:58:05
|
<html><body><P><FONT face=3DArial size=3D2><BR>I wrote some code a while ba= ck that sounds like what you're after - or at least should point you i= n the right direction:</FONT></P> <P><FONT style=3D"FONT-FAMILY: arial,helvetica,sans-serif" size=3D2><A href= =3D"http://www.sc3d.com/thought/snippets/debugging/GetFunctionCaller/">http= ://www.sc3d.com/thought/snippets/debugging/GetFunctionCaller/</A></FONT></P> <P><FONT style=3D"FONT-FAMILY: arial,helvetica,sans-serif" size=3D2>NB: It'= s not quite what I'd class as "production" quality - it was written fo= r debugging purposes only :o)</P> <P>Cheers,<BR><BR>Simon O'Connor<BR>Programmer @ Reflections Interactive<BR= >& Microsoft DirectX MVP<BR><BR>--- "Diogo de Andrade" <Diogo.Andrad= e...@ne...> wrote:<BR><BR>From: "Diogo de Andrade" <Diogo.Andrade@= netvisao.pt><BR>Date: Wed, 9 Feb 2005 13:43:16 -0000<BR>To: <gamedevl= ist...@li...><BR>Subject: [GD-Windows] Call stack<= BR><BR>Hey all! <BR><BR>This is a long shot, but is there any way to output= the call stack in <BR>MSVC 6.0? <BR>More precisely, I'm having some proble= ms with the recording/playback in <BR>my engine, and I tracked it to the ra= ndom number generated (when on <BR>playback, it is being called more often = than on recording, which is a <BR>strange behavior). Anyway, I'm logging th= e output of the random number <BR>generator (this is how I found out the as= ynch), but it would be really <BR>helpful if I could output to the log file= the call stack just to see <BR>exactly WHO is calling the random number ge= nerator out of turn... <BR>Is there any "simple" way of doing this (just fo= r debug purposes)? <BR><BR>Thanks in advance (and sorry if this is OT, but = I'm not sure) <BR><BR>Diogo de Andrade <BR>Creative and Technical Director = <BR>Spellcaster Studios <BR>dio...@sp... <BR><BR><B= R><BR><BR><BR><BR>------------------------------------------------------- <= BR>SF email is sponsored by - The IT Product Guide <BR>Read honest & ca= ndid reviews on hundreds of IT Products from real users. <BR>Discover which= products truly live up to the hype. Start reading now. <BR>http://ads.osdn= .com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick <BR>________________= _______________________________ <BR>Gamedevlists-windows mailing list <BR>G= ame...@li... <BR>https://lists.sourceforge.net= /lists/listinfo/gamedevlists-windows <BR>Archives: <BR>http://sourceforge.n= et/mailarchive/forum.php?forum_id=3D555<BR></P></FONT></body></html> |
From: Diogo de A. <Dio...@ne...> - 2005-02-09 13:43:40
|
Hey all! This is a long shot, but is there any way to output the call stack in MSVC 6.0? More precisely, I'm having some problems with the recording/playback in my engine, and I tracked it to the random number generated (when on playback, it is being called more often than on recording, which is a strange behavior). Anyway, I'm logging the output of the random number generator (this is how I found out the asynch), but it would be really helpful if I could output to the log file the call stack just to see exactly WHO is calling the random number generator out of turn... Is there any "simple" way of doing this (just for debug purposes)? Thanks in advance (and sorry if this is OT, but I'm not sure) Diogo de Andrade Creative and Technical Director Spellcaster Studios dio...@sp... |
From: Jon W. <hp...@mi...> - 2005-02-07 17:29:18
|
You don't want to be exporting classes with implementation details, anyway. Especially the STL isn't binary compatible at all between revisions. Could you re-formulate the interface for your exported class using a pure abstract base class, and export that using a factory function? Vtable layout is a pretty safe linkage dependency. Cheers, / h+ -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Chris Raine Sent: Sunday, February 06, 2005 2:26 PM To: gam...@li... Subject: [GD-Windows] STL Containers and __declspec(export/import) Hi, If you stick a STL container to a class with __declspec(export) vcc will whine about the STL container not being declared with __declspec(export) attribute. What I found after a bit of doc-digging was that MSDN suggests that you explicitly instantiate the STL container with 'extern'. |
From: Vasco L. <va...@kr...> - 2005-02-07 00:39:52
|
At 00:47 07.02.2005, you wrote: >Your guess is correct. > >Exporting the STL containers is a Bad Thing(tm). > >Implementations of the STL are not necessarily binary compatible. There is >no convenient way to translate between different implementations, so if the >DLL uses a different version than your executable, the objects will differ >and your program will fail. afaik this is a general problem of c++ (no general C++ ABI, see also http://aegisknight.org/cppinterface.html ), so in principle the same applies to normal c++ objects. >Vectors are a special case. The latest versions of the C++ standard have a >guarantee that vectors are contiguous, and all major implementations before >that guarantee also have that behavior, so passing vectors around as general >arrays can be done safely. > >I seem to remember also that the VC++ 7.1 uses local storage in the >implementation, so in that case, even moving between the same implementation >would fail if you crossed EXE/DLL boundaries. Not if you link all your modules to the DLL runtime, again all with the same version. I use lots of stl and boost with my DLLs. As long as you make sure that all components are compiled with same compiler (+ same version) and linked with the runtime DLL it works without any problems. Otherwise it really gets involved: only C functions and pure abstract C++ types allowed and seperated memory managment between modules. Vasco |
From: Bryan W. <br...@xm...> - 2005-02-06 23:47:22
|
Your guess is correct. Exporting the STL containers is a Bad Thing(tm). Implementations of the STL are not necessarily binary compatible. There = is no convenient way to translate between different implementations, so if = the DLL uses a different version than your executable, the objects will = differ and your program will fail. Vectors are a special case. The latest versions of the C++ standard = have a guarantee that vectors are contiguous, and all major implementations = before that guarantee also have that behavior, so passing vectors around as = general arrays can be done safely. I seem to remember also that the VC++ 7.1 uses local storage in the implementation, so in that case, even moving between the same = implementation would fail if you crossed EXE/DLL boundaries. Hope that explains things a bit. Bryan. -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of = Chris Raine Sent: Sunday, February 06, 2005 3:26 PM To: gam...@li... Subject: [GD-Windows] STL Containers and __declspec(export/import) Hi,=20 If you stick a STL container to a class with __declspec(export) vcc will whine about the STL container not being declared with __declspec(export) attribute. What I found after a bit of doc-digging was that MSDN suggests that you explicitly instantiate the STL container with 'extern'.=20 Having done that and still having no success with getting around the annoying warning, I found out that the same MSDN-document had a very small note stating : <quote>=20 "The only STL container that can currently be exported is vector. The other containers (that is map, set,queue, list, deque) all contain nested class and [therefore] cannot be exported." <quote/> The document I'm referring to is entitled "Howto: Exporting STL Components Inside & Outside of a Class" and was last updated on 5-7-2001. Has there been any update on this topic for Studio .Net 2003 (which is what I am using) that I could not find? Am I correct with guessing that using the STL container classes in external header files of a dll is a no-no and should be avoided? Ignoring that warning would be dangerous (for I do not like the concept of fixing problems by disabling the warnings they create). confused and thanking for any insight given regarding this topic,=20 Chris=20 ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 |
From: Chris R. <c....@gm...> - 2005-02-06 22:27:17
|
Hi, If you stick a STL container to a class with __declspec(export) vcc will whine about the STL container not being declared with __declspec(export) attribute. What I found after a bit of doc-digging was that MSDN suggests that you explicitly instantiate the STL container with 'extern'. Having done that and still having no success with getting around the annoying warning, I found out that the same MSDN-document had a very small note stating : <quote> "The only STL container that can currently be exported is vector. The other containers (that is map, set,queue, list, deque) all contain nested class and [therefore] cannot be exported." <quote/> The document I'm referring to is entitled "Howto: Exporting STL Components Inside & Outside of a Class" and was last updated on 5-7-2001. Has there been any update on this topic for Studio .Net 2003 (which is what I am using) that I could not find? Am I correct with guessing that using the STL container classes in external header files of a dll is a no-no and should be avoided? Ignoring that warning would be dangerous (for I do not like the concept of fixing problems by disabling the warnings they create). confused and thanking for any insight given regarding this topic, Chris |
From: <ge...@fr...> - 2005-02-01 17:47:30
|
Hello, Another new question about plain Win32 programming ... I cannot use MFC, = or any=20 other kind of library. So here is my question, for one of my developement i need to open an = internet=20 explorer instance. All is good for now, the html page is loading, we can = browse it, but if the user quit the window i don't get the notification of this = close so i cannot=20 release my object cleanly.=20 After searching on MSDN i found the interface DWebBrowserEvents2, but = sadly there=20 is almost no information about how to instantiate it and how to make it = cooperate=20 with me IWebBrowser2 ...=20 Is anyone out there that already did that ?=20 Fabien. |
From: Andrew G. <ag...@cl...> - 2005-01-31 00:10:12
|
You just render to different portions of the same render target, which will normally be your backbuffer. A. > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...] On > Behalf Of Brett Bibby > Sent: Sunday, January 30, 2005 4:12 PM > To: Gam...@li... > Subject: [GD-Windows] mutiple cameras > > What is the recommended way to handle multiple cameras/views > per "window" in both DirectX and OpenGL (e.g. a car racing > game with a rear view mirror, or split screen 2 player)? For > example, for DX is it normal to use additional swap chains > for each camera viewport or to use render targets for each > camera and then copy the surface to the framebuffer when > done? Or is there another way? How about OpenGL? > Cheers, > -bb > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IntelliVIEW -- Interactive > Reporting Tool for open source databases. Create drag-&-drop > reports. Save time by over 75%! Publish reports on the web. > Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |
From: Brett B. <res...@ga...> - 2005-01-30 23:56:04
|
What is the recommended way to handle multiple cameras/views per "window" in both DirectX and OpenGL (e.g. a car racing game with a rear view mirror, or split screen 2 player)? For example, for DX is it normal to use additional swap chains for each camera viewport or to use render targets for each camera and then copy the surface to the framebuffer when done? Or is there another way? How about OpenGL? Cheers, -bb |
From: Brian H. <bri...@gm...> - 2005-01-13 21:31:51
|
> That was sort of my original question, stated differently =) I'm just > not sure where long-term work can be stored, all the examples I see > are basically focused on property exchange, event reaction, and doing > things in OnDraw(). What I ended up doing, and I think this is okay, is having an OnCreate() for the control which turns around and does a SendMessage()...then I turn around and have an OnCommand() which calls "Go()" which spawns the worker thread and goes from there. Whew. Ugly, but it seems to work. |
From: Brian H. <bri...@gm...> - 2005-01-12 23:11:12
|
> Can you do your setup work, including launching a thread, in the constructor? That was sort of my original question, stated differently =) I'm just not sure where long-term work can be stored, all the examples I see are basically focused on property exchange, event reaction, and doing things in OnDraw(). |
From: Ivan-Assen I. <iva...@gm...> - 2005-01-12 21:01:50
|
> I looked for references to the OnLoad event -- where is this > documented? I didn't see it under COleControl. Errrr, sorry to have mislead you... OnLoad is the .NET event. COleControl is an MFC class, right? Can you do your setup work, including launching a thread, in the constructor? |
From: Brian H. <bri...@gm...> - 2005-01-11 21:11:51
|
I looked for references to the OnLoad event -- where is this documented? I didn't see it under COleControl. |
From: Alastair P. <apa...@sa...> - 2005-01-11 19:09:23
|
Hi Brian, I don't know exactly what you're doing but, I have written some browser plugins before and I found the Netscape plugin API to be much easier to use for simple stuff than ActiveX. Last time I checked, Netscape plugins also worked with IE and Mozilla on multiple platforms. http://www.mozilla.org/projects/plugins/. You might also consider Java applets, although unfortunately these no longer work "out of the box" with IE. Al -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Brian Hook Sent: Tuesday, January 11, 2005 11:02 AM To: gam...@li... Subject: Re: [GD-Windows] ActiveX Control question > Assuming you get the COM threading models right, I believe the "proper" way > would the to launch a separate thread in the OnLoad event. Have you tried that? No, but I will now =3D) The amount of information to digest for COM + OLE + MFC + ActiveX + the whole ATL distraction thing is just, well, immense. Just figuring out where to start has been difficult, most people who have been doing this stuff have been doing it for 7 years. Thanks, Brian ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 |
From: Brian H. <bri...@gm...> - 2005-01-11 19:02:08
|
> Assuming you get the COM threading models right, I believe the "proper" way > would the to launch a separate thread in the OnLoad event. Have you tried that? No, but I will now =) The amount of information to digest for COM + OLE + MFC + ActiveX + the whole ATL distraction thing is just, well, immense. Just figuring out where to start has been difficult, most people who have been doing this stuff have been doing it for 7 years. Thanks, Brian |
From: Ivan-Assen I. <as...@ha...> - 2005-01-11 18:20:44
|
> I also have a specific question: is there a proper way to implement a > control that is completely passive, i.e. accepts no input and just > does something. Imagine an application that allows you to download an > OCX to perform a bunch of calculations and then upload the results > (kind of like SETI at home, but as an explicit Web page control, not > as an explicit downloadable). Assuming you get the COM threading models right, I believe the "proper" way would the to launch a separate thread in the OnLoad event. Have you tried that? The main thread of a "proper" Windows application with a user interface (including an ActiveX control) should ideally do nothing but react to events. |
From: Brian H. <bri...@gm...> - 2005-01-11 16:55:22
|
I've been reading up on ActiveX control development, and I'm looking for a good book that covers ActiveX in depth (as opposed to the books out there that spend 1000 pages on MFC and then devote 50 pages to an ActiveX clock example written using MFC/ATL). Any suggestions? I also have a specific question: is there a proper way to implement a control that is completely passive, i.e. accepts no input and just does something. Imagine an application that allows you to download an OCX to perform a bunch of calculations and then upload the results (kind of like SETI at home, but as an explicit Web page control, not as an explicit downloadable). The typical control reacts to events, e.g. with OnXXXX response. Should I just setup a timer that periodically calls a callback function, or is there a better/cleaner weay? |
From: Chris S. <cs...@st...> - 2005-01-09 20:23:53
|
A couple of plugins I find useful are Fast Solution Build and Project Line Counter. Fast Solution Build makes building projects in .NET much faster by skipping redundant dependency checks. Project Line Counter gives you statistics on line counts, comment percentages, etc. Fast Solution Build: http://workspacewhiz.com/OtherAddins.html Project Line Counter: http://www.wndtabs.com/plc/ There's also source code available for both plugins: http://www.codeproject.com/macro/fastsolutionbuild.asp http://www.codeproject.com/macro/linecount.asp Chris Daniel Vogel wrote: >>missing from .NET as I always thought it was >>everything-including-the-kitchen-sink IDE. > > > Not out of the box though at least VS.NET 2005 is a big step in the > right direction. > > I couldn't live without Workspace Whiz and Visual Assist to supplement > VS.NET 2003's IDE. > > http://www.workspacewhiz.com/ > http://www.wholetomato.com/ > > Can anyone else recommend any other useful plugins? I wouldn't mind > finding one with more control over syntax highlighting. > > -- Daniel, Epic Games Inc. |
From: Daniel V. <Dan...@ep...> - 2005-01-09 16:27:20
|
> missing from .NET as I always thought it was=20 > everything-including-the-kitchen-sink IDE. Not out of the box though at least VS.NET 2005 is a big step in the right direction. I couldn't live without Workspace Whiz and Visual Assist to supplement VS.NET 2003's IDE. http://www.workspacewhiz.com/ http://www.wholetomato.com/=20 Can anyone else recommend any other useful plugins? I wouldn't mind finding one with more control over syntax highlighting. -- Daniel, Epic Games Inc. > -----Original Message----- > From: gam...@li...=20 > [mailto:gam...@li...] On=20 > Behalf Of Brett Bibby > Sent: Saturday, January 08, 2005 11:39 PM > To: gam...@li... > Subject: Re: [GD-Windows] declspec? >=20 > > I usually just re-open the solution and do a full rebuild=20 > whenever I=20 > > get really bizarre problems that *shouldn't* happen :) > > > I'm new to .NET and I thought when I switched from=20 > CodeWarrior bizarre problems would go away :-) sigh. I've=20 > been shocked though at how many basic, simple features are=20 > missing from .NET as I always thought it was=20 > everything-including-the-kitchen-sink IDE. > --bb >=20 >=20 >=20 > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues=20 > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 >=20 |
From: Brett B. <res...@ga...> - 2005-01-09 04:23:33
|
> I usually just re-open the solution and do a full rebuild whenever I get > really bizarre problems that *shouldn't* happen :) > I'm new to .NET and I thought when I switched from CodeWarrior bizarre problems would go away :-) sigh. I've been shocked though at how many basic, simple features are missing from .NET as I always thought it was everything-including-the-kitchen-sink IDE. --bb |