Правильно ли использовать a? пометить как Ruby в объявлении функции
Нет, языкового способа обозначения необязательного аргумента нет. Я определенно думаю, что это стоит указать в комментарии, однако:
function myFunc(var1, var2 /* optional */, var3 /* optional */) {
if (var2===undefined) ...
(Обратите внимание на тройное равенство для точного тестирования на равенство. В противном случае переданное значение null
также будет соответствовать. Обычно вы хотите, чтобы ===
для большинство сравнений в JS, так как двойное равенство нежелательно слабо типизировано.)
Поскольку, когда у вас есть неопределенное количество необязательных аргументов, вы обычно опускаете их в операторе функции, и снова комментарий вежливый:
function myFunc(var1 /* , optional var2..varN */) {
for (var i= 1; i<arguments.length; i++) ...
*. A - a библиотека rchive для его создания скомпилируйте свои исходники:
gcc -c -o foo.o foo.c
gcc -c -o boo.o boo.c
ar -rsc yourlib.a foo.o boo.o
итак - независимая от позиции разделяемая библиотека кода
gcc -fPIC -shared -soname,libfoo.so.1 -o libfoo.so.1.0 foo.c boo.c
#create shared library
gcc -Os -fPIC -c test.c
gcc -shared test.so test.o
#create static library
gcc -Os -c test.c
ar rcs test.a test.o
.a также называется статической библиотекой, а .so также называется динамически загружаемой библиотекой.
Мне нравится Program Library HOWTO .
Этот HOWTO для программистов обсуждает как создать и использовать программу библиотеки в Linux. Это включает в себя статические библиотеки, разделяемые библиотеки, и динамически загружаемые библиотеки.
Учебник Yo Linux также полезен.
В этом руководстве обсуждается философия за библиотеками и созданием и использование библиотеки C / C ++ "общий компоненты »и« плагины ». различные технологии и методики используется и понимание их соответствующих приложение, также обсуждается. В в этом руководстве все библиотеки создан с использованием компилятора GNU Linux.
Взгляните на этот Makefile , который я написал, когда был новичком в C. Он ясно показывает, как сгенерировать и правильно связать .a
и .so
файлы из простого демонстрационного источника .