Berkeley CSUA MOTD:Entry 22763
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/05/25 [General] UID:1000 Activity:popular
5/25    

2001/10/17-18 [Computer/SW/Compilers, Computer/SW/Languages/C_Cplusplus] UID:22763 Activity:high
10/17   Is "const volatile" or "volatile const" a valid type qualifier in plain
        C?  I want to define something for some read-only hardware registers.
        I'm wondering if something like
                typedef struct {
                  const volatile int reg1, reg2, ......;
                } myRegs, *myRegsPtr;
        will do the trick.  I want the fields to be read-only but I don't want
        the compiler to optimize away any read operations.  I tried compiling
        the above and there's no error, but I don't know if it'll always
        compile to the right thing.  Thanks.
        \_ If the HW registers are read-only then you shouldn't need to do
           anything like const.  Just do volatile reg1, reg2, etc. This stuff
           is memory mapped right? So when you write to hardware locations
           that are read only, nothing will happen. When you read it back it
           will still get the read-only value.  (If the HW is designed
           correctly).  Things get trickier if you're using this struct to
           keep a shadow copy of the registers due to some ASIC bug.  But
           generally, read-only means exactly that.  Read-only.
           \_ Does "const volatile" actually mean anything then?
           \_ Yes it's memory mapped.  I realize I don't need to use "const",
              but I just want to use it so that the compile will generate an
              error when someone accidentally writes code to assign a value
              to that location.
              to that location, just like what it does for an ordinary const
              variable.
        \_ Yes, it's defined in standard C, and it does exactly what you
           want: you're not allowed to assign to the variable (const), but
           the compiler will read the value from memory every time you
           access it (volatile).  --mconst
           \_ You need volatile mconst.  -John
2025/05/25 [General] UID:1000 Activity:popular
5/25    

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.
	...
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;
	...
2010/1/22-30 [Computer/HW/Laptop, Computer/SW/OS/OsX] UID:53655 Activity:high
1/22    looking to buy a new development laptop
        needs ssdrive, >6 hr possible batt life, and runs linux reasonably
        Anyone have a recommendation? Thx.
        \_ thinkpad t23 w ssdrive and battery inplace of drive bay
        \_ Ever wondered what RICHARD STALLMAN uses for a laptop?  Well,
           wonder no more!
	...
2009/8/31-9/9 [Computer/SW/Compilers] UID:53312 Activity:nil
8/31    I'm trying to learn ActionScript, like a step by step tutorial.
        The site at http://www.actionscript.org/resources/categories/Tutorials/Flash/Beginner
        isn't well organized. It doesn't explain how to get started with
        an editor, compiler, IDE. And should I even learn AS2 when you can
        learn AS3? Is Adobe Flash CS4 >>> CS3 or just CS4 > CS3?
	...
2009/2/28-3/11 [Computer/SW/Compilers] UID:52661 Activity:nil
2/28    I'm looking for a recommendation of a compiler/IDE to use to
        develop C/C++ code under Linux. In school, we used jove/gcc and
        I still use emacs/vi and gcc to this day. However, it is really
        lacking. Under Windows I tried Visual Studio and there were some
        really nice things about it, although it was so overwhelming that
        after 6 months of occasional use I still didn't really know what I
	...
2008/6/9-12 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Security] UID:50194 Activity:nil
6/8     CSUA code guru please help. I need to see my random number
        generator with a good seed (I just need random 18 bit
        identifiers). The usual time(NULL) is OK, except my program
        might be invoked faster than once a second, and seeding using
        time() produced the same result. I tried clock() but it seems
        to return 0. My program needs to be run in Linux/DOS (Watcom
	...
2008/5/2-8 [Computer/SW/Compilers] UID:49874 Activity:low
5/2     How do I get the L1/L2 cache size and cache line size on my machine?
        Can I find this stuff out at compile time somehow?
        \_ You aren't planning on running your code on any other processors?
        \_ May I ask what it is you want to achieve ultimately? If you don't
           know your architecture and want to find out dynamically, there are
           tools that can peek/poke to give you definitive answers, plus you get
	...
2008/4/2-6 [Computer/SW/Languages/C_Cplusplus] UID:49645 Activity:moderate
4/2     Is there an interpreted version of C or C++ that can be used for
        educational purposes? It doesn't have to be full-featured or
        strictly adhere to the standards, but it's painful for students
        to change a variable in a for loop and then wait for a compile
        to see how it changes the result. Something really lightweight
        would encourage them to play around a lot more and learn more in
	...
2007/11/30-12/6 [Computer/SW/Compilers, Computer/HW/CPU] UID:48719 Activity:moderate
11/29   From the CSUA minutes:
        - Next Gen Console
        -- If we have $1800 in our accounts, should we buy a console:
           4 votes passes.
        -- Console voting: 2 votes each, neither passes
           * 360 = 600, more games
	...
2007/11/27-30 [Computer/SW/Languages/C_Cplusplus, Computer/SW/OS/Solaris] UID:48701 Activity:high
11/27   I'm using select to do a nonblocking check to see if a single socket
        has anything to read off it.  Problem is, I can have up to 12228
        file descriptors, and Linux fd_set only supports up to 4096.  Any idea
        what I can do about this?  (Or a better solution?) -jrleek
        \- 1. who are you
           2. i am busy this week and you didnt mention language
	...
2006/11/10-12 [Computer/SW/Compilers] UID:45316 Activity:nil
11/10   Is there anyway to get C/C++ compilers to automatically compile
        different code for different processors?  I'd like to be able to
        say something like:
          #if defined X86 ...
          #elif defined SPARC ...
          #else ...
	...
2010/6/4-30 [Computer/SW/Languages/C_Cplusplus] UID:53849 Activity:nil
6/4     Is this valid C++ code?
        std::string getStr(void) {
            std::string str("foo");
            return str;
        }
        void foo(char *s);
	...
2006/8/25-28 [Computer/SW/Languages/C_Cplusplus] UID:44153 Activity:nil
8/25    Dear C++ experts. Why would there be two "const" in the following
        method declaration?
        const bool ILikeMotd() const;
        \_ The first const refers to the data type returned.  The second
           const says the function doesn't modify an object's member variables.
           The first const in your example is bad, I believe; it should
	...
2006/7/28-8/2 [Computer/SW/Languages/C_Cplusplus] UID:43824 Activity:nil
7/27    In C/C++, how come some parameters have "mconst" before the type
        and some don't? I don't see how it changes anything. -newbie
        \_ If it's a pointer or reference, then you can't change the contents.
        \_ Nicely summarized here:
           http://www.parashift.com/c++-faq-lite/const-correctness.html
        \_ The answer is 47. -proud American
	...
2006/5/10-11 [Computer/SW/Languages/C_Cplusplus] UID:43010 Activity:nil
5/10    I'm trying to port a small project from builsing with MS Visual Studio
        to GCC in MinGW on windows.  Only 1 line is having a compile error.
        Using STL, the line
        if(hashmap->find(key)!=0)
        Has the following error:
        no match for `std::_Rb_tree_iterator<std::pair<const std::string, int>,
	...
2006/2/13-20 [Recreation/Computer/Games] UID:41824 Activity:moderate
2/13    What are your favorite old school computer games?
        \_ Recently rediscovered Pathways into Darkness http://pid.bungie.org
           \_ The skill levels for weapons was a cool innovation for a fps.
        \_ BEYOND CASTLE WOLFENSTEIN
        \_ Jumpman Jr.
        \_ The Pawn (C64 - 1985?), Conan (various 1986?)
	...