|
2.3, const86 (ok), 14:57, 11/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
Ещё бы -Wall -Werror по умолчанию включить... И -ansi или -std=c99 вместо -std=gnu89. Жёстко, но могло бы уменьшить численность непонимающих "противоречивые сообщения" компилятора. | |
|
3.4, Dvorkin (??), 16:29, 11/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
пример для знатоков
[CXX] mods/ModSERVTest/ModSERVTest.os as PIC...
mods/ModSERVTest/ModSERVTest.cpp:146: warning: ‘mod_ModSERVTest’ initialized and extern
cat ./mods/ModSERVTest/ModSERVTest.cpp
...
// module linkage header
extern "C" {
DECL_F_NEW(ModSERVTest) { return( new ModSERVTest); }
DECL_F_DEL(ModSERVTest) { delete ( ModSERVTest *)_mod; }
DECL_F_FIL(ModSERVTest) {
_mod->type = MOD_T_SERV;
_mod->inst_type = MOD_IT_MANY;
_mod->conf_type = MOD_CT_XML; }
}
// module linkage header end
...
warning совершенно не к месту | |
|
|
1.5, Аноним (-), 23:30, 11/03/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
почему же не к месту - extern означает что данная функция определена в другом модуле ( библиотеке) и никакой инициализации здесь не позволено. Очевидно что DECL_F_XXX что то там добавили да небось со своим "extern". | |
|
2.6, Dvorkin (??), 02:20, 12/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
>почему же не к месту - extern означает что данная функция определена
>в другом модуле ( библиотеке) и никакой инициализации здесь не позволено.
>Очевидно что DECL_F_XXX что то там добавили да небось со своим
>"extern".
#define DECL_F_NEW(x) static Mod *f_##x##_new( Ctx &_ctx, Mod_t *_mod)
#define DECL_F_DEL(x) static void f_##x##_del( Ctx &_ctx, Mod *_mod)
#define DECL_F_FIL(x) static void f_##x##_fil( Ctx &_ctx, Mod_t *_mod)
#define DYN_LINKED_MOD(n,x) extern "C" struct mod_entry_t mod_##x = \
{\
(n),\
PKG_V0,\
PKG_V1,\
PKG_V2,\
(f_##x##_new),\
(f_##x##_del),\
(f_##x##_fil),\
}
| |
2.8, Dvorkin (??), 02:21, 12/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
>почему же не к месту - extern означает что данная функция определена
>в другом модуле ( библиотеке) и никакой инициализации здесь не позволено.
>Очевидно что DECL_F_XXX что то там добавили да небось со своим
>"extern".
, что ни разу не ошибка. так, дурацкий ворнинг, как признают сами разработчики GCC.
| |
|
3.11, pavlinux (??), 02:59, 12/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
Пущай будет... и вообще extern нужон для грязных дел.
вызвал extern func() или extern struct str; и забыл.
| |
|
4.14, Dvorkin (??), 12:34, 12/03/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Пущай будет... и вообще extern нужон для грязных дел.
>вызвал extern func() или extern struct str; и забыл.
в данном случае без extern "C" никак. я же обьектную .so-шку оформляю... | |
|
|
|
1.13, klalafuda (?), 07:26, 12/03/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
mnda... ну ладно, может для LORа это и прокатит за "новость", но для OpenNet... o tempore o mores :-/
// wbr
| |
|