-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathREADME
132 lines (87 loc) · 4.36 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.;oO0.
cXMM0.
.xKKo ;WM0
.KMMO. ,WM0
"" ,WM0
;; ,WM0
.';ccc:,. ...,:. ...,:. .:OWO..... ;lc ,WM0 .,:cc:,.
.oOXl;":l0WK. ,kWMN' :kWMM: :kWMMXkkkkk' cXMMk ,WM0 .kXo;":oXk
lN0. l: .KMN' 0MM; .KMMd oMMx ,WM0 kM0 'd
oWX. .0MN' OMM; .KMMd :MMx ,WM0 xMWk,
NMk .KMN' OMM; .KMMd :MMx ,WM0 .lXMMXx;
MMK. .KMN' OMM; .KMMd cMMx ,WM0 ;dKMMK;
0MMk. .KMW' OMM; .KMMd cMMx ,WM0 ,. :XMN
'KMMKc. ,x: OMMx :XMMc 0MMK. cMMk ,WM0. x0. dMX
.l0WMWK0OOOd' '0WMXxddolcKMMXdl. :KWMXxooc. ;l0WWNoc. ,cOWWNxc. ;XXo;,,oKk'
'ldkxo:' :dkkd:" TOl:' ':dkxo' 'P"'''"P' 'P"'''"P' .cdkkdc.
ABOUT
=====
cutils (C Utilities) is a collection of simple, modern and truly powerful tools
to make one's life a little easier when programming in C. The utilities were
created mostly to fulfill the personal needs of the author, however he hopes and
believes many will find the tools just as useful and essential as he does.
For detailed information and documentation visit:
http://www.cutils.org
INSTALL
=======
1. Install LibYAML (eg. pacman -S libyaml)
2. Install pyyaml (eg. pip install pyyaml)
3. Install pyhashxx (eg. pip install pyhashxx)
4. Edit MAKEFILE => set libraries and python location
5. make
6. sudo make install
CONTRIBUTOR'S NOTE
==================
cutils uses very strict naming conventions, so, if you want to contribute to it,
you have to follow these rules. In my personal experience, the conventions
described below truly makes the code cleanewr, easier to read, to understand, to
modify later on and make it maintainable on the long run.
Public variable and function/method names:
all_lowercase_letters_separated_by_underscores
eg.:
/* inline variable name */
bool error_flag = false;
/* method name of object in global namespace */
cutils_cdar_DynamicArray_void_ptr_new()
^ ^ ^ ^
| | | |
project module object method
name name name name
Private variable and function/method names:
_all_lowercase_letters_separated_by_underscores_started_with_underscore
eg.: int _counter;
Constants (macros enums):
FULL_UPPERCASE_LETTERS_SEPARATED_BY_UNDERSCORE
eg.:
/* inline and public constants */
#define CUTILS_NAMESPACE
/* guard macro variables */
_C_APPLICATION_PROGRAMMING_INTERFACE_H_27277619327951796_
^ ^ ^ ^ ^
| | | | |
leading full name extension random trailing
underscore of the module number underscore
Labels:
Words_Started_With_Capital_Letters_Separated_By_Underscore
eg.: goto Error_Window_Initialisation_Failed;
Objects:
WordsStartedWithCapitalLettersAndNotSeparated
eg.: typedef struct {} MyObject;
DynamicArray_unsigned_long_long
^ ^
| |
base type related
standard type
LICENSE
=======
Copyright (C) 2014 Peter Varo
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program, most likely a file in the root directory, called 'LICENSE'.
If not, see <http://www.gnu.org/licenses>.