Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заставить студию 2005 делать DLL... по-иному 
:(
    Опции темы
ABTOMAT
  Дата 23.9.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



Мне надо так ->  _FuckinMessage@4
А оно (скотина) делает так ->  FuckinMessage

Нужно чтобы в DLL в функциях прибавлялись сзади _, а спереду - @ + n*4

Где это искать в настройках компилятора и т.п.?

З.Ы. Вот моя функция:

Код

extern "C" __declspec(dllexport) int FuckinMessage(char key){
    std::cout << "Gotcha! The string is: " << key;
    _getch();
    return 69;
}


Прошу простить, если вопрос тупой, я нуб полный в C++, взялся только затем, что мне надо для моей проги сделать простейшую DLL, которая хапает в аргументах функции стринг и выводит его на экран/пишет в текстовый файл и т.п.

З.Ы. Если кто-нить ещё вот на такой вопрос ответит, будет вообще всё в шоколаде:
Как вывести строку в текстовый файл? 
(предупреждаю, я нуб, так что по порядку - что и куда инклюдить, если есть соотв. FAQ то буду благодарен за ссылку туда)


Заранее спасибо.

Это сообщение отредактировал(а) ABTOMAT - 23.9.2008, 16:26
PM MAIL   Вверх
andrew_121
Дата 23.9.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(ABTOMAT @  23.9.2008,  16:24 Найти цитируемый пост)
Как вывести строку в текстовый файл? 

Код


#include <iostream>
#include <fstream>

int main(int argc, char** argv) {

    std::ofstream os("file.txt");
    
    if ( !os.good() ) {
        std::cout << "Error" << std::endl;
        return -1;
    }
    
    os << "String" << std::endl;

    return 0;
}



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Sartorius
Дата 23.9.2008, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 2
Всего: 37



Код

extern "C"
 отключает декорирование имен. Пиши без "C"...  smile 

Это сообщение отредактировал(а) Sartorius - 23.9.2008, 18:29
PM MAIL ICQ   Вверх
ABTOMAT
Дата 25.9.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



Спасибо!
Но решил методом "Через Жопу"©
Продекларировал функцию так: _FuckinMessage_4
WinHex'ом открыл и поменял руками _ на @, потом заюзал - и заработало (даже удивился)
Всем спасибо.
PM MAIL   Вверх
586
Дата 26.9.2008, 03:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Цитата(ABTOMAT @  23.9.2008,  17:24 Найти цитируемый пост)
Мне надо так ->  _FuckinMessage@4

Так кодируются функции с соглашением stdcall.
Код
extern "C" __declspec(dllexport) int __stdcall FuckinMessage(char key) 

PM   Вверх
HappyLife
Дата 26.9.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8



586, Как раз с stdcall они кодируются нормально...
PM MAIL   Вверх
586
Дата 26.9.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Цитата(HappyLife @  26.9.2008,  10:50 Найти цитируемый пост)
Как раз с stdcall они кодируются нормально... 

Это в Билдере.

А в Visual C++ как надо.
PM   Вверх
J0ker
Дата 28.9.2008, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(ABTOMAT @ 25.9.2008,  23:18)
Спасибо!
Но решил методом "Через Жопу"©
Продекларировал функцию так: _FuckinMessage_4
WinHex'ом открыл и поменял руками _ на @, потом заюзал - и заработало (даже удивился)
Всем спасибо.

nice1  smile 


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.