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">
|
<h1><big><font color="#3c34ec">
|
||||||
<i>NuttX C Coding Standard</i>
|
<i>NuttX C Coding Standard</i>
|
||||||
</font></big></h1>
|
</font></big></h1>
|
||||||
<p>Last Updated: August 24, 2016</p>
|
<p>Last Updated: February 9, 2017</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -1074,6 +1074,15 @@ int do_foobar(void)
|
|||||||
|
|
||||||
<h2>2.2 <a name="globalvariable">Global Variables</a></h2>
|
<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>
|
<p><b>Coding Standard:</b></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -1114,6 +1123,7 @@ int do_foobar(void)
|
|||||||
<p><font color="red"><b>Incorrect</b></p>
|
<p><font color="red"><b>Incorrect</b></p>
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
extern int someint;
|
extern int someint;
|
||||||
|
static int anotherint;
|
||||||
uint32_t dwA32BitInt;
|
uint32_t dwA32BitInt;
|
||||||
uint32_t gAGlobalVariable;
|
uint32_t gAGlobalVariable;
|
||||||
</ul></pre></font>
|
</ul></pre></font>
|
||||||
@ -1122,6 +1132,7 @@ uint32_t gAGlobalVariable;
|
|||||||
<p><font color="blue"><b>Acceptable</b></p>
|
<p><font color="blue"><b>Acceptable</b></p>
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
extern int g_someint;
|
extern int g_someint;
|
||||||
|
static int g_anotherint;
|
||||||
uint32_t g_a32bitint;
|
uint32_t g_a32bitint;
|
||||||
uint32_t g_aglobal;
|
uint32_t g_aglobal;
|
||||||
</ul></pre></font>
|
</ul></pre></font>
|
||||||
@ -1136,6 +1147,7 @@ struct my_variables_s
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern int g_someint;
|
extern int g_someint;
|
||||||
|
static int g_anotherint;
|
||||||
struct my_variables_s g_myvariables;
|
struct my_variables_s g_myvariables;
|
||||||
</ul></pre></font>
|
</ul></pre></font>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
17
libc/Kconfig
17
libc/Kconfig
@ -10,15 +10,18 @@ config STDIO_DISABLE_BUFFERING
|
|||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
Tiny systems may need to disable all support for I/O buffering in
|
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
|
NOTE that even if STDIO buffering is enabled, you can still disable
|
||||||
buffer by setting CONFIG_STDIO_BUFFER_SIZE=0 or dynamically through
|
buffering by setting CONFIG_STDIO_BUFFER_SIZE=0 or dynamically
|
||||||
the setvbuf() interface. In this case, however, memory used for
|
through the setvbuf() interface. In this case, however, memory
|
||||||
buffering will be eliminated, of course, buth there will be no
|
used forbuffering will be eliminated, of course, buth there will be
|
||||||
reduction in static code size. Only setting
|
no reduction in static code size. Only setting
|
||||||
CONFIG_STDIO_DISABLE_BUFFERING will reduce static code size.
|
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
|
if !STDIO_DISABLE_BUFFERING
|
||||||
|
|
||||||
config STDIO_BUFFER_SIZE
|
config STDIO_BUFFER_SIZE
|
||||||
@ -27,8 +30,8 @@ config STDIO_BUFFER_SIZE
|
|||||||
---help---
|
---help---
|
||||||
Size of buffers using within the C buffered I/O interfaces (printf,
|
Size of buffers using within the C buffered I/O interfaces (printf,
|
||||||
putchar, fwrite, etc.). This function sets the initial I/O buffer
|
putchar, fwrite, etc.). This function sets the initial I/O buffer
|
||||||
size. Zero disables I/O buffering. That size may be subsequently
|
size. Zero disables I/O buffering initially. Any buffer size may
|
||||||
modified using setvbuf().
|
be subsequently modified using setvbuf().
|
||||||
|
|
||||||
config STDIO_LINEBUFFER
|
config STDIO_LINEBUFFER
|
||||||
bool "STDIO line buffering"
|
bool "STDIO line buffering"
|
||||||
|
Loading…
Reference in New Issue
Block a user