Приветствую эксперты, Знаю С, правда неочень сильно. Взялся изучать Си++, взял Самоучитель Шилдт'а Си++ 3 издание и установил MS Visual Studio C++ . Так вот Шилдт пишет о новом стандарте описания загаловочных файлов #include using namespase std; в отличии от #include у меня почему то это новое описание никак нехочет работать, может где то чего то надо изменять в настройках но я этого ненашёл. В приложение прога из Шилдата которая так же никак нехочеть компилиться в этом MS Visual studio :( и выдаёт ошибку: Compiling... pr.cpp g:cppprpr.cpp(25) : fatal error C1010: unexpected end of file while looking for precompiled header directive Error executing cl.exe. Где и что надо исправить? В настройках Visual studio или в самом коде? Подскажите плз где найти какую нибудь хорошую мануаулу в электронном
виде на русском языке по работе и настройках MS Visual Studio 6 C++ . ЗЫ слашал ещё что есть интеловские компиляторы. - они работают только с интеловскими процессорами или нет? С амдэшными тоже работают? или при видет амдэшных процов приходять в ярость? :) P.S. Извеняюсь за наверное слишком ламерские вопросы.
Приветствую Вас, Вовка! можешь удалить using namespace std. Ответ отправлен: 16.01.2004, 19:04 Отправитель: sniffer Отвечает vitya
Здравствуйте, Вовка! Ты по всей видимости стер "stdafx." include. От этого можно избавиться в настройках проекта убрав using precompiled header (для cpp файла).
Ответ отправлен: 16.01.2004, 10:34 Отправитель: vitya Отвечает Avl2k
Приветствую Вас, Вовка! Да, в заголовочных файлах STL отсутствует расширение .h, а ее стандартные классы находятся в пространстве имен std. Например, чтобы использовать класс string: #include <string> using namespace std; void f() { string s; // ... } Visual C++ создает проект, использующий precompiled headers. От Вас требуется, чтобы в каждом .cpp-файле, входящем в проект, была директива их включения, обычно #include "stdafx.h". С уважением, Avl2k. Ответ отправлен: 16.01.2004, 11:41 Отправитель: Avl2k
Вопрос № 1398
Есть dll, как можно загрузить из нее функцию? Если можно то мне помог бы пример...
Приложение: Ответ отправлен: 16.01.2004, 16:33 Отправитель: chebv Отвечает Avl2k
Приветствую Вас, Swer! Вариант 1 (линковка с помощью .lib файла): -берем .h-файл с объявлениями функций и включаем его туда, где используем; -берем .lib-файл и линкуем с ним проект; Пример - использование функций Win32 API, которые импортируются из системных библиотек Windows (kernel32.dll, user32.dll и т.д.). Вариант 2 (загрузка с помощью LoadLibrary): typedef BOOL (__stdcall *BeepFunc)( DWORD dwFreq, DWORD dwDuration ); void f() { HMODULE hDll = LoadLibrary( "kernel32.dll"); if( hDll ) { BeepFunc fn = (BeepFunc)GetProcAddress( hDll, "Beep" ); if( fn ) fn( 0x25, 500 ); FreeLibrary( hDll ); } } С уважением, Avl2k. Ответ отправлен: 16.01.2004, 17:09 Отправитель: Avl2k Отвечает sniffer
Приветствую Вас, Swer! Вот маленький примерчик:
Приложение: Ответ отправлен: 16.01.2004, 19:04 Отправитель: sniffer Отвечает vitya
Здравствуйте, Swer! LoadLibrary/GetProcAddress - за примером в MSDN. Ответ отправлен: 17.01.2004, 14:33 Отправитель: vitya
Вопрос № 1399
Здравствуйте уважаемые эксперты. Я по поводу вопроса №1391. Возможно я сформулировал его не достаточно чётко в чём глубоко извиняюсь. Ситуация в следующем - необходимо отправить письмо не используя свой SMPT сервер - т.е. там где программы будет работать люди и понятия не имеют что это такое. Задавать по умолчанию или список также не возможно. Необходимо напрямую присылать письмо в pop ящик пользователя. Аналогично делает программа Advanced Direct Remailer. т.е. письмо не проходит через 10 серверов а сразу напрямую попадает пользователю в его pop ящик. Например при получении подобного письма в нём Только одна строчка Received: ............................. Тогда как в любом письме отправленном по умолчанию черз любой сервер SMPT таких строчек как минимум две (одна при получении письма самим сервером SMPT через который осуществлялась отправка
а другая дописывается сервером получателем). Т.Е. задача сводится к тому что бы отправить письмо сразу серверу получателю. Буду крайне благодарен за любую информацию.
Доброе время суток, wolf! Если знаешь почтовый сервер получателя (это не обязательно то, что стоит после @ в e-mail получателя), то просто коннектишься к нему и по протоколу SMTP заливаешь свое письмо. Ответ отправлен: 19.01.2004, 12:17 Отправитель: Gibbel
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.