Сейчас на форуме: (+2 невидимых) |
![]() |
eXeL@B —› Оффтоп —› C++ |
Посл.ответ | Сообщение |
|
Создано: 10 апреля 2008 06:28 · Личное сообщение · #1 Товарисчи пишущие на сях, сканпелируйте небольшой кусочег шеллкодеса. Хочется посмотреть как оно работает ![]() ![]() ----- iNTERNATiONAL CoDE CReW ![]() |
|
Создано: 10 апреля 2008 08:51 · Личное сообщение · #2 |
|
Создано: 10 апреля 2008 09:22 · Личное сообщение · #3 |
|
Создано: 13 января 2011 02:46 · Личное сообщение · #4 Помогите уйти от ошибки... При линковке, получаю: [Linker Error] Unresolved external 'initLex(char *)' referenced from .\UNIT1.OBJ при чём initLex объявлена как int initLex(char* fname) в модуле Lex.c Lex.h приинклюдил, почему он его не находит? сырки в аттаче ![]() ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh ![]() |
|
Создано: 13 января 2011 08:53 · Личное сообщение · #5 |
|
Создано: 13 января 2011 11:01 · Личное сообщение · #6 |
|
Создано: 13 января 2011 13:16 · Личное сообщение · #7 |
|
Создано: 13 января 2011 14:59 · Поправил: Isaev · Личное сообщение · #8 cppasm пишет: Isaev - про декорирование имён почитай. почитал cppasm пишет: В Lex.h замени прототип на Не катит... [C++ Error] Lex.h(69): E2040 Declaration terminated incorrectly ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh ![]() |
|
Создано: 13 января 2011 15:04 · Поправил: cppasm · Личное сообщение · #9 Isaev не верю ![]() Изменённый вариант выложи. Студия компилирует если всякие BCB приколы повыбрасывать, BCB тоже должен. // Добавлено Не заметил что Lex.h и в *.с и в *.срр подключается. Тогда надо так: Code:
Просто в Си нету extern "C". Ну или так можно (удобнее если функций много): Code:
![]() |
|
Создано: 13 января 2011 15:12 · Поправил: Isaev · Личное сообщение · #10 изменил только Code:
ошибка именно в этой строке // добавлно: да, спасибо, теперь всё летает ![]() ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh ![]() |
|
Создано: 28 января 2011 18:17 · Личное сообщение · #11 [C++ Error] Parser.h(42): E2449 Size of 'gProg' is unknown or zero Почему? Всю голову сломал ![]() и ещё: Code:
Вот это бредовое дополнение строки как сделать красивее? ![]() ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh ![]() |
|
Создано: 28 января 2011 18:45 · Поправил: neomant · Личное сообщение · #12 При объявлении массива не указан его размер. Полагаю, что имелось в виду что-то другое: extern gProg[]? Code:
----- Следуй за белым кроликом ![]() |
|
Создано: 28 января 2011 18:58 · Личное сообщение · #13 strcat можно сделать для конкатенации строк. Нафига шаманства со String тоже непонятно, когда есть нормальные функции, в том числе и апи, типа strlen. Что касается последнего оратора, делить на sizeof(TCHAR) хреново, лучше делить на размер нулевого элемента массива. ![]() |
|
Создано: 28 января 2011 20:06 · Поправил: neomant · Личное сообщение · #14 |
|
Создано: 28 января 2011 21:54 · Личное сообщение · #15 |
|
Создано: 28 января 2011 22:57 · Личное сообщение · #16 Isaev пишет: точно, второй раз на те же грабли На те-же, но не совсем. В первый раз через extern "C" - отказались от декорирования имен аля С++, а теперь через extern - позволили дотянуться из Unit1.cpp к статическому массиву gProg объявляемому в Parser.c. Не забудь оставить на месте тип элементов массива extern tBog gProg[]; ----- 127.0.0.1, sweet 127.0.0.1 ![]() |
|
Создано: 01 февраля 2011 22:22 · Поправил: Isaev · Личное сообщение · #17 |
|
Создано: 02 февраля 2011 22:22 · Личное сообщение · #18 |
![]() |
eXeL@B —› Оффтоп —› C++ |