Update Coding Standard and some Kconfig comments.
This commit is contained in:
parent
e6e72bda02
commit
085dcf92e3
@ -12,7 +12,7 @@
|
||||
<h1><big><font color="#3c34ec">
|
||||
<i>NuttX C Coding Standard</i>
|
||||
</font></big></h1>
|
||||
<p>Last Updated: August 24, 2016</p>
|
||||
<p>Last Updated: February 9, 2017</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -1074,6 +1074,15 @@ int do_foobar(void)
|
||||
|
||||
<h2>2.2 <a name="globalvariable">Global Variables</a></h2>
|
||||
|
||||
<b>Global vs. Local vs. Public vs. Private</b>
|
||||
By a <i>global</i> variable it is meant any variable defined outside of a function.
|
||||
The distinction is between this kind of <i>global</i> and function <i>local</i> definition and refers to the scope a symbol <i>within a file</i>.
|
||||
A related concept for all <i>global</i> names defined within a file is the scope of the name across different files.
|
||||
If the global symbol is pre-pended with the <code>static</code> storage class then the scope of the global symbol is within the file only.
|
||||
This is a somewhat different concept and within NuttX you will find these distinguished as <i>private</i> vs. <i>public</i> global symbols.
|
||||
However, within this standard, the term <i>global variable</i> will refer to any variable that has more than local scope.
|
||||
</li>
|
||||
|
||||
<p><b>Coding Standard:</b></p>
|
||||
<ul>
|
||||
<li>
|
||||
@ -1114,6 +1123,7 @@ int do_foobar(void)
|
||||
<p><font color="red"><b>Incorrect</b></p>
|
||||
<ul><pre>
|
||||
extern int someint;
|
||||
static int anotherint;
|
||||
uint32_t dwA32BitInt;
|
||||
uint32_t gAGlobalVariable;
|
||||
</ul></pre></font>
|
||||
@ -1122,6 +1132,7 @@ uint32_t gAGlobalVariable;
|
||||
<p><font color="blue"><b>Acceptable</b></p>
|
||||
<ul><pre>
|
||||
extern int g_someint;
|
||||
static int g_anotherint;
|
||||
uint32_t g_a32bitint;
|
||||
uint32_t g_aglobal;
|
||||
</ul></pre></font>
|
||||
@ -1136,6 +1147,7 @@ struct my_variables_s
|
||||
};
|
||||
|
||||
extern int g_someint;
|
||||
static int g_anotherint;
|
||||
struct my_variables_s g_myvariables;
|
||||
</ul></pre></font>
|
||||
</td></tr>
|
||||
|
17
libc/Kconfig
17
libc/Kconfig
@ -10,15 +10,18 @@ config STDIO_DISABLE_BUFFERING
|
||||
default n
|
||||
---help---
|
||||
Tiny systems may need to disable all support for I/O buffering in
|
||||
order to minimum footprint.
|
||||
order to minimize the memory footprint.
|
||||
|
||||
NOTE that even if STDIO buffering is enabled, you can still disable
|
||||
buffer by setting CONFIG_STDIO_BUFFER_SIZE=0 or dynamically through
|
||||
the setvbuf() interface. In this case, however, memory used for
|
||||
buffering will be eliminated, of course, buth there will be no
|
||||
reduction in static code size. Only setting
|
||||
buffering by setting CONFIG_STDIO_BUFFER_SIZE=0 or dynamically
|
||||
through the setvbuf() interface. In this case, however, memory
|
||||
used forbuffering will be eliminated, of course, buth there will be
|
||||
no reduction in static code size. Only setting
|
||||
CONFIG_STDIO_DISABLE_BUFFERING will reduce static code size.
|
||||
|
||||
The setvbuf() interface is not available if
|
||||
CONFIG_STDIO_DISABLE_BUFFERING is selected.
|
||||
|
||||
if !STDIO_DISABLE_BUFFERING
|
||||
|
||||
config STDIO_BUFFER_SIZE
|
||||
@ -27,8 +30,8 @@ config STDIO_BUFFER_SIZE
|
||||
---help---
|
||||
Size of buffers using within the C buffered I/O interfaces (printf,
|
||||
putchar, fwrite, etc.). This function sets the initial I/O buffer
|
||||
size. Zero disables I/O buffering. That size may be subsequently
|
||||
modified using setvbuf().
|
||||
size. Zero disables I/O buffering initially. Any buffer size may
|
||||
be subsequently modified using setvbuf().
|
||||
|
||||
config STDIO_LINEBUFFER
|
||||
bool "STDIO line buffering"
|
||||
|
Loading…
Reference in New Issue
Block a user