Berkeley CSUA MOTD:Entry 30732
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/07/10 [General] UID:1000 Activity:popular
7/10    

2004/6/10-11 [Computer/SW/Languages/C_Cplusplus] UID:30732 Activity:very high
6/10    Hi, what is "volatile function" in C (or is it C++)?  Thanks.
        \_ They're used when writing vaporware.
        \_ I imagine it's a method that operates on a volatile object (?)
           \_ Uhm, no... that wouldn't make much sense, now, would it?
              I've never used or see someone use "volatile" in all the
              years that I've been coding C (it's been 15+ years now).
              According to K&R the volatile modifier is used only
              variables that supposedly could be modified outside of
              the executing program. In the years since the original
              K&R during ANSI meetings there has been some debate over
              what "volatile" actually means and there hasn't been
              a satisfactory answer. I've never heard of anyone using
              "volatile" on declaring a function, I'm not even sure
              if that would pass the compiler...
              -williamc
              \_ Wow, way to look like a fucking dumbass again. "Just
                 because I've never seen volatile used means it, like,
                 doesn't make sense, or something!" Here's a snippet
                 from the C++ standard:
                 "[Note: volatile is a hint to the implementation to
                  avoid aggressive optimization involving the object
                  because the value of the object might be changed by
                  means undetectable by an implementation... In general,
                  the semantics of volatile are intended to be the same
                  in C++ as they are in C."
                 And in C, the volatile type specifier generally denotes
                 something like a memory-mapped IO address, so it's not
                 some totally abstract theoretical thing.
                        \_ Or a variable modified by a signal handler.
        \_ Google says that they are functions that can return control
           to some point other than where they were called from.
           \_ Uhm, that would be highly problematic.... -williamc
              \_ Uhm, you are an idiot.  This is about as problematic as
                 exceptions (that's exactly what they are designed to do).
                 Now I am sure volatile isn't implementing exceptions in C,
                 but your comment's ignorant regardless.
                 \_ Actually, it would be highly problematic in a C program,
                    because C doesn't implement exception handling.
                    It's apparent that YOU have never done any C
                    programming (no, this is not Java, and C++ exception
                    handling is still pretty broken). In addition,
                    you appear to fail to understand how exception
                    handling is implemented in general. -williamc
                    \_ Ok, let me try small words.  Poster: "functions that
                       can return control to some point other than where
                       they were called from."  You: "That [returning control
                       in this way] would be highly problematic."  Except
                       this is NOT highly problematic because that's exactly
                       what exceptions do.  You are a moron.
                       \_ It is nice to see people get hot and bothered and
                          make fools out of themselves by flaming on a topic
                          other than politics. Sir, I salute you for caring
                          so much about typecast functions.
                          \_ (Why) I oughta (knock) your block++ off;{!!;}
                    \_ You've never heard of setjmp and longjmp?
                 \_ youse guys are all cracka's!
                 \_ have any of you ever kissed a girl?!?
2025/07/10 [General] UID:1000 Activity:popular
7/10    

You may also be interested in these entries...
2014/1/14-2/5 [Computer/SW/Languages/C_Cplusplus] UID:54763 Activity:nil
1/14    Why is NULL defined to be "0" in C++ instead of "((void *) 0)" like in
        C?  I have some overloaded functtions where one takes an integer
        parameter and the other a pointer parameter.  When I call it with
        "NULL", the compiler matches it with the integer version instead of
        the pointer version which is a problem.  Other funny effect is that
        sizeof(NULL) is different from sizeof(myPtr).  Thanks.
	...
2013/4/9-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Apps, Computer/SW/Languages/Perl] UID:54650 Activity:nil
4/04    Is there a good way to diff 2 files that consist of columns of
        floating point numbers, such that it only tells me if there's a
        difference if the numbers on a given line differ by at least a given
        ratio?  Say, 1%?
        \_ Use Excel.
           1. Open foo.txt in Excel.  It should convert all numbers to cells in
	...
2013/4/29-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Compilers] UID:54665 Activity:nil
4/29    Why were C and Java designed to require "break;" statements for a
        "case" section to terminate rather than falling-through to the next
        section?  99% of the time poeple want a "case" section to terminate.
        In fact some compilers issue warning if there is no "break;" statement
        in a "case" section.  Why not just design the languages to have
        termination as the default behavior, and provide a "fallthru;"
	...
2012/7/19-11/7 [Computer/SW/Languages/C_Cplusplus] UID:54439 Activity:nil
7/19    In C or C++, how do I write the code of a function with variable
        number of parameters in order to pass the variable parameters to
        another function that also has variable number of parameters?  Thanks.
        \_ The usual way (works on gcc 3.0+, Visual Studio 2005+):
               #define foo(fmt, ...) printf(fmt, ##__VA_ARGS__)
           The cool new way (works on gcc 4.3+):
	...
2011/3/7-4/20 [Computer/SW/Languages/C_Cplusplus] UID:54056 Activity:nil
3/7     I have a C question.  I have the following source code in two identical
        files t.c and t.cpp:
                #include <stdlib.h>
                int main(int argc, char *argv[]) {
                  const char * const * p1;
                  const char * * p2;
	...
2011/2/5-19 [Computer/SW/Languages/C_Cplusplus] UID:54027 Activity:nil
2/4     random C programming/linker fu question.  If I have
        int main() { printf("%s is at this adddr %p\n", "strlen", strlen); }
        and soda's /proc/sys/kernel/randomize_va_space is 2 (eg; on)
        why is strlen (or any other libc fn) at the same address every time?
        \_ I don't pretend to actually know the right answer to this, but
           could it have something to do with shared libraries?
	...
2010/2/12-3/9 [Computer/SW/Languages/C_Cplusplus] UID:53708 Activity:nil
2/12    I need a way to make a really big C++ executable (~200MBs) that does
        nothing.  No static initialization either.  Any ideas?
        \_ static link in lots of libraries?
        \_ #define a   i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0;
           #define b   a a a a a a a a a a
           #define c   b b b b b b b b b b
	...
2009/9/28-10/8 [Computer/SW/Languages/C_Cplusplus] UID:53409 Activity:nil
9/28    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
        Java is #1!!! Followed by C, PHP, C++, Visual Basic, Perl,
        C#, Python, Javascript, then finally Ruby. The good news is
        Pascal is going waaaay back up!
        \_ C is still more popular than C++?  I feel much better about myself
           now.
	...
2009/8/7-14 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Languages/Java] UID:53252 Activity:high
8/6     In C one can do "typedef int my_index_t;".  What's the equivalent in
        C#?  Thanks.
        \_ C#? Are you serious? Is this what the class of 2009 learn?
           \_ No.  I have to learn .NET code at work.  I am Class of '93.
           \_ python is what 2009 learns, see the motd thread about recent
              cal courses and languages
	...
2009/7/21-24 [Computer/SW/Languages/Java] UID:53168 Activity:moderate
7/20    For those who care btw, it looks like eclipse is now A Standard Tool
        at UCB ugrad cs, probably replaced emacs.  Furthermore, people get
        angry at seeing Makefiles, (since eclispe takes care of that).  I
        guess it's just a sign of the times.
        \_ The more people at my work use eclipse the less the code is
           managable in emacs.  I'm not sure which application's fault
	...