I'm with Chris on this one. No problem. See, we're even agreeing. Take care, Sina -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher Coale Sent: Thursday, April 14, 2011 10:38 AM To: programmingblind@xxxxxxxxxxxxx Subject: Re: again a newbee question Sigh.. nobody is being confrontational. I was not even intending to be rude. And what are you talking about with the programmer's version of "my car is bigger than yours"? I just used my game engine as an example -- I didn't give a name of it or even a link, so I was not advertising. If you're referring to "What the hell are you talking about?" Why on earth would someone take that personally? I asked what he is talking about.. god forbid someone use a word such as "hell" for emphasis on confusion. Have a good day, Christopher On 4/14/2011 12:46 AM, Holdsworth, Lynn wrote: > This thread was really interesting until it became confrontational. Is > this the programmers' version of "my car's bigger than yours"? Please > try to bite your tongues and stop insulting one another. "What the hell > are you talking about" should never be a part of any message on here. Is > this list being moderated? > > Cheers, Lynn > > -----Original Message----- > From: programmingblind-bounce@xxxxxxxxxxxxx > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher > Coale > Sent: 14 April 2011 04:34 > To: programmingblind@xxxxxxxxxxxxx > Subject: Re: again a newbee question > > Now what are you talking about? My game engine has a scene graph of > inherited nodes (sometimes 3 or 4 deep) that all get allocated and > destroyed, with the destructors called in the proper order? So again, > what the hell are you talking about? By the way, I never call "exit" in > it nor do I register callbacks to destroy nodes using the atexit > function. And 32 callbacks is slightly limiting, wouldn't you say? > > As for what Tyler said, and it totally emphasized my point, was how > exactly do you want these callbacks to destroy resources? Shall we store > global pointers to the resources so that the callback can access them? > Here is what I mean: > > class SomeGraphicsClass { > IDirect3DVertexBuffer9 *pVB = .....; // assume this is a created > resource }; > > void myOnExit() > { > // ok.. now how do I destroy pVB? > } > > On 4/13/2011 8:29 PM, Sina Bahram wrote: >> I don't see how that's the same thing though. >> >> That's platform specific, no? i could be totally off on that point, > but I thought it was. >> This allows you to register 32 callbacks, and all your objects have >> destructors which get called by parents, etc, etc, so you should be > good to go. >> Of course destructors of large object trees is a joke in C++, as >> anyone who has had to deal with multiple inherited classes and >> destructor order resolution issues will tell you. throw in some > virtual functions on top of that, and the only thing you'll be > destroying reliably is a bottle of something. >> Take care, >> Sina >> >> -----Original Message----- >> From: programmingblind-bounce@xxxxxxxxxxxxx >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry >> Sent: Wednesday, April 13, 2011 11:25 PM >> To: programmingblind@xxxxxxxxxxxxx >> Subject: RE: again a newbee question >> >> I think Chris wants people to use the onDestroy stuff but in truth >> OnDestroy is not going to free up nothing if the person doesn't' add >> the code to it so I figure it doesn't matter either way. >> >> Ken >> >> -----Original Message----- >> From: programmingblind-bounce@xxxxxxxxxxxxx >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Sina >> Bahram >> Sent: Wednesday, April 13, 2011 11:20 PM >> To: programmingblind@xxxxxxxxxxxxx >> Subject: RE: again a newbee question >> >> Here: >> >> void exit ( int status ); >> >> Terminates the process normally, performing the regular cleanup for >> terminating processes. >> >> First, all functions registered by calls to atexit are executed in the >> reverse order of their registration. Then, all streams are closed and >> the temporary files deleted, and finally the control is returned to >> the host environment. >> >> The status argument is returned to the host environment. >> >> http://www.cplusplus.com/reference/clibrary/cstdlib/exit/ >> >> and here: >> >> int atexit ( void ( * function ) (void) ); Set function to be executed >> on exit >> >> The function pointed by the function pointer argument is called when >> the program terminates normally. >> >> If more than one atexit function has been specified by different calls >> to this function, they are all executed in reverse order as a stack, >> i.e. the last function specified is the first to be executed at exit. >> >> One single function can be registered to be executed at exit more than > once. >> C++ implementations are required to support the registration of at >> C++ least 32 >> atexit functions. >> >> http://www.cplusplus.com/reference/clibrary/cstdlib/atexit/ >> >> take care, >> Sina >> >> -----Original Message----- >> From: Sina Bahram [mailto:sbahram@xxxxxxxxx] >> Sent: Wednesday, April 13, 2011 11:17 PM >> To: 'programmingblind@xxxxxxxxxxxxx' >> Subject: RE: again a newbee question >> >> >> I'd recommend looking up how exit works. >> >> Take care, >> Sina >> -----Original Message----- >> From: programmingblind-bounce@xxxxxxxxxxxxx >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >> Christopher Coale >> Sent: Wednesday, April 13, 2011 11:06 PM >> To: programmingblind@xxxxxxxxxxxxx >> Subject: Re: again a newbee question >> >> Also, just because exit() cleans up some standard system resources, >> does not mean it cleans up ALL resources. I do most of my programming >> with XNA, Direct3D, and the like. When you create objects that exist >> in graphics memory instead of RAM, you are responsible for managing >> that object. If I create a vertex buffer on the GPU, I am responsible >> for freeing that resource, not the "exit" function. >> >> Teaching beginner programmers to call exit to leave the program is >> just simply a horrible decision. But hey, what do I know.. >> >> On 4/13/2011 7:41 PM, Sina Bahram wrote: >>> I don't understand what that means. >>> >>> Totally destroys what structure? >>> >>> It's an exit ... of course it destroys everything. >>> >>> Furthermore, exit is an extremely clean way of exiting a program. >>> It's a >> million times better than return 0. >>> It actually calls, in reverse order of course, all functions which >> registered via atexit. It also closes streams, not only IO ones >>> for that matter, and it gets rid of/cleans temporary files. >>> >>> Quite puzzled ... >>> >>> Take care, >>> Sina >>> >>> -----Original Message----- >>> From: programmingblind-bounce@xxxxxxxxxxxxx >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >> Christopher Coale >>> Sent: Wednesday, April 13, 2011 9:38 PM >>> To: programmingblind@xxxxxxxxxxxxx >>> Subject: Re: again a newbee question >>> >>> Alright, I just wanted to force you to clarify, so you don't give >>> Ashish the wrongi dea. ;) I grade C++ programming assignments, and I >>> see new >>> C++ programmers using the exit function simply because it's >>> C++ convenient, >>> but it totally destroys the structure. >>> >>> On 4/13/2011 6:35 PM, Ken Perry wrote: >>>> Well I was using exit as a concept more than a method since >>>> depending on >> the >>>> gui you code in there are things like finish, exit, delete and all >>>> kinds >> of >>>> way to make a program die. >>>> >>>> Ken >>>> >>>> -----Original Message----- >>>> From: programmingblind-bounce@xxxxxxxxxxxxx >>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >>>> Christopher Coale >>>> Sent: Wednesday, April 13, 2011 9:28 PM >>>> To: programmingblind@xxxxxxxxxxxxx >>>> Subject: Re: again a newbee question >>>> >>>> Careful with saying "until you call exit." You don't want to give >>>> the impression that the exit() function is okay in a structured >>>> program, do we? ;) >>>> >>>> On 4/13/2011 6:25 PM, Ken Perry wrote: >>>>> Nod you will not need things like scanf and getch and things of the >>>>> like when you get into serious coding because you will be probably >>>>> building windows apps of some kind and the window will remain open >>>>> till you call exit. This is just while you're learning so feel >>>>> free to use scanf, >>>> getch, >>>>> getchar, or any of the things like read to just hold the program >>>>> till >> your >>>>> ready to close. >>>>> >>>>> Ken >>>>> >>>>> -----Original Message----- >>>>> From: programmingblind-bounce@xxxxxxxxxxxxx >>>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of ashish >> rohtagi >>>>> Sent: Wednesday, April 13, 2011 9:05 PM >>>>> To: programmingblind@xxxxxxxxxxxxx >>>>> Subject: Re: again a newbee question >>>>> >>>>> sorry, I corrected the mistake about printf and scanf. thanks for >>>>> the advice. take care, regards. ashish >>>>> >>>>> On 4/14/11, Littlefield, Tyler<tyler@xxxxxxxxxxxxx> wrote: >>>>>> I'm sorry, getch should be getchar. Also: it's fairly bad coding >>>>>> style to put a printf on the same line as a scanf. Unless you have >>>>>> good reason, try to keep your code separated. It makes it easier >>>>>> to read and people don't miss things quite as easily. >>>>>> On 4/13/2011 6:50 PM, ashish rohtagi wrote: >>>>>>> like this?? #include<stdio.h> >>>>>>> >>>>>>> int main() >>>>>>> { >>>>>>> char me[20]; >>>>>>> >>>>>>> >>>>>>> >>>>>>> printf("What is your name?"); scanf("%s",&me); printf("Darn glad >>>>>>> to meet you, %s!\n",me); >>>>>>> >>>>>>> scanf("s%",&me); >>>>>>> >>>>>>> return(0); >>>>>>> } but result is still the same. can I use getch fungtion? if yes >>>>>>> please tell me how to use it . take care, regards. >>>>>>> >>>>>>> >>>>>>> On 4/14/11, Jared Wright<wright.jaredm@xxxxxxxxx> wrote: >>>>>>>> It goes right between the last printf statement and the return >>>>>>>> statement. It's job is to hold the program open at the end, so >>>>>>>> it >>>> should >>>>>>>> be the last statement before return, which ends the program. >>>>>>>> On 4/13/2011 12:09 PM, ashish rohtagi wrote: >>>>>>>>> hi Tyler, thanks for your suggestion, but I am unable to >>>>>>>>> understand where to put second scanf. will you just once show >>>>>>>>> me? take care, regards. ashish >>>>>>>>> >>>>>>>>> On 4/13/11, Littlefield, Tyler<tyler@xxxxxxxxxxxxx> > wrote: >>>>>>>>>> Like ken said, use scanf to catch it before the window closes, >>>>>>>>>> or >> run >>>>>>>>>> it >>>>>>>>>> in a command line. Here's what's happening: >>>>>>>>>> You open the process, and the first scanf call blocks; that is >>>>>>>>>> to >>>> say, >>>>>>>>>> it will not process anything, it is simply waiting for the >>>>>>>>>> user to input something. But after it's done printing, there >>>>>>>>>> is no reason why it should stay open because you don't tell it >>>>>>>>>> to. So run from the >>>> command >>>>>>>>>> prompt, use getch() to let you hit enter before it closes or >>>>>>>>>> use another scanf. >>>>>>>>>> On 4/13/2011 9:32 AM, ashish rohtagi wrote: >>>>>>>>>>> friends, thanks for all the encouragement. here is my >>>>>>>>>>> problem, I >>>>> want >>>>>>>>>>> to use scanf fungtion. in input and output but as soon as I >>>>>>>>>>> give >> my >>>>>>>>>>> input and press enter the window disappears. it does not give >> output >>>>>>>>>>> based on my input. here is the code. #include<stdio.h> >>>>>>>>>>> >>>>>>>>>>> int main() >>>>>>>>>>> { >>>>>>>>>>> char me[20]; >>>>>>>>>>> >>>>>>>>>>> printf("What is your name?"); scanf("%s",&me); printf("Glad >>>>>>>>>>> to meet you, %s!\n",me); return(0); } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 4/13/11, Littlefield, Tyler<tyler@xxxxxxxxxxxxx> > wrote: >>>>>>>>>>>> O. oops. In my defense, I haven't found coffee. :) On >>>>>>>>>>>> 4/13/2011 7:46 AM, Jared Wright wrote: >>>>>>>>>>>>> It's there, just on the same line as the printf statement. >>>>>>>>>>>>> On 4/13/2011 9:35 AM, Littlefield, Tyler wrote: >>>>>>>>>>>>>> good job on using int main, just don't forget a return 0; >>>>>>>>>>>>>> when >>>> you >>>>>>>>>>>>>> are >>>>>>>>>>>>>> done. between the printf and the closing brace. >>>>>>>>>>>>>> On 4/13/2011 6:36 AM, ashish rohtagi wrote: >>>>>>>>>>>>>>> here is my code it compiles correctly but text just shows >>>>>>>>>>>>>>> on >> the >>>>>>>>>>>>>>> screen for 1 second, I want it to stay. #include<stdio.h> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> int main() >>>>>>>>>>>>>>> { >>>>>>>>>>>>>>> printf("I will learn programming!\n"); return(0); } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 4/13/11, DaShiell, Jude T. CIV NAVAIR 1490, 1, 26 >>>>>>>>>>>>>>> <jude.dashiell@xxxxxxxx> wrote: >>>>>>>>>>>>>>>> You didn't put your printf statement in your message, > but let >>>> me >>>>>>>>>>>>>>>> make a >>>>>>>>>>>>>>>> guess. You didn't put a (\n) in before the closing quote > mark >>>> so >>>>>>>>>>>>>>>> you >>>>>>>>>>>>>>>> just put text on the screen without a line ending. That > could >>>> be >>>>>>>>>>>>>>>> one >>>>>>>>>>>>>>>> contributing factor. Another might be you didn't put an >>>> #include >>>>>>>>>>>>>>>> <stdio.h> statement in at the top of your program > and >> maybe >>>>>>>>>>>>>>>> used >>>>>>>>>>>>>>>> #include<conio.h>. If that's the case, don't use printf > with >>>>>>>>>>>>>>>> conio.h >>>>>>>>>>>>>>>> unless you also include stdio.h. For conio.h, cprintf is > the >>>>>>>>>>>>>>>> function >>>>>>>>>>>>>>>> you want. Hope this helps. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>>>>>> From: programmingblind-bounce@xxxxxxxxxxxxx >>>>>>>>>>>>>>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf > Of >>>>>>>>>>>>>>>> ashish >>>>>>>>>>>>>>>> rohtagi >>>>>>>>>>>>>>>> Sent: Wednesday, April 13, 2011 8:04 >>>>>>>>>>>>>>>> To: programmingblind@xxxxxxxxxxxxx >>>>>>>>>>>>>>>> Cc: punitdiwan@xxxxxxxxx >>>>>>>>>>>>>>>> Subject: again a newbee question >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> friends, sorry here I am with another foolish question, > sorry >>>>> but >>>>>>>>>>>>>>>> here >>>>>>>>>>>>>>>> is no one to teach and I am learning myself. when I > print any >>>>>>>>>>>>>>>> text >>>>>>>>>>>>>>>> on >>>>>>>>>>>>>>>> screen using printf it quickly disappears. what should I > do >>>> that >>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>> should stay? take care, regards. ashish >>>>>>>>>>>>>>>> __________ >>>>>>>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> __________ >>>>>>>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> __________ >>>>>>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>> __________ >>>>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Ty >>>>>>>>>>>> >>>>>>>>>>>> __________ >>>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> __________ >>>>>>>>>>> View the list's information and change your settings at >>>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Ty >>>>>>>>>> >>>>>>>>>> __________ >>>>>>>>>> View the list's information and change your settings at >>>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>>> >>>>>>>>>> >>>>>>>>> __________ >>>>>>>>> View the list's information and change your settings at >>>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>>> >>>>>>>> __________ >>>>>>>> View the list's information and change your settings at >>>>>>>> //www.freelists.org/list/programmingblind >>>>>>>> >>>>>>>> >>>>>>> __________ >>>>>>> View the list's information and change your settings at >>>>>>> //www.freelists.org/list/programmingblind >>>>>>> >>>>>>> >>>>>> -- >>>>>> >>>>>> Thanks, >>>>>> Ty >>>>>> >>>>>> __________ >>>>>> View the list's information and change your settings at >>>>>> //www.freelists.org/list/programmingblind >>>>>> >>>>>> >>>>> __________ >>>>> View the list's information and change your settings at >>>>> //www.freelists.org/list/programmingblind >>>>> >>>>> __________ >>>>> View the list's information and change your settings at >>>>> //www.freelists.org/list/programmingblind >>>>> >>>> __________ >>>> View the list's information and change your settings at >>>> //www.freelists.org/list/programmingblind >>>> >>>> __________ >>>> View the list's information and change your settings at >>>> //www.freelists.org/list/programmingblind >>>> >>> __________ >>> View the list's information and change your settings at >>> //www.freelists.org/list/programmingblind >>> >>> __________ >>> View the list's information and change your settings at >>> //www.freelists.org/list/programmingblind >>> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > > > > To report this e-mail as Spam, please forward it to: > spam@xxxxxxxxxxxxxxx > > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind