RE: again a newbee question

  • From: "Holdsworth, Lynn" <Lynn.Holdsworth@xxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Thu, 14 Apr 2011 08:46:59 +0100

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


-- 
DISCLAIMER:

NOTICE: The information contained in this email and any attachments is 
confidential and may be privileged.  If you are not the intended 
recipient you should not use, disclose, distribute or copy any of the 
content of it or of any attachment; you are requested to notify the 
sender immediately of your receipt of the email and then to delete it 
and any attachments from your system.

RNIB endeavours to ensure that emails and any attachments generated by
its staff are free from viruses or other contaminants.  However, it 
cannot accept any responsibility for any  such which are transmitted.
We therefore recommend you scan all attachments.

Please note that the statements and views expressed in this email and 
any attachments are those of the author and do not necessarily represent
those of RNIB.

RNIB Registered Charity Number: 226227

Website: http://www.rnib.org.uk



This message has been scanned for viruses by Websense Hosted Security - 
http://www.websense.com/content/HostedEmailSecurity.aspx

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Other related posts: