New answers tagged

10

You are misinterpreting GCC's error message: <source>:5:8: error: lvalue required as increment operand ++i++; ^ Note where the error message is pointing: the postfix++ part. The token sequence ++i++ will, by C/C++'s operator precedence rules, be interpreted as ++(i++). So the postfix++ happens first. The postfix++ operator does two ...


0

My personal example comes from the Linux kernel: struct firmware { size_t size; const u8 *data; struct page **pages; /* firmware loader private fields */ void *priv; }; There are various fields that the system can configure, and the firmware-data is read-only. But, that is not the point (read on). This design is also in line with the ...


1

If the capabilities of your new ISA are similar to existing ones, then you can save a lot of work. For example, you could add a new backend to LLVM and get many programming languages for free. To do this, you would describe basic details of your ISA to the compiler (bit sizes of integers, pointers, floating point numbers). Your C code can then be compiled ...


-1

There actually are filesystems supported by (almost) any OS. UDF may be mentioned in this list. Another example is FAT systems supported on many platforms even in cameras.


4

The nice thing about architectural patterns is that they are largely language independent. Some languages may have better or worse support for the basic constructs that a particular pattern is built upon. Many architectural patterns are built upon Object Oriented concepts. C does not have built-in OO features, but you can actually implement OO designs in C. ...


Top 50 recent answers are included