Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Почему эклипсу не нравится синтаксис - C++

06.03.2012, 09:09. Просмотров 949. Ответов 17
Метки нет (Все метки)

C++
1
2
3
4
5
6
#include <windows.h>
int WINAPI WinMain (HINSTANCE Instance, HINSTANCE Previus, LPSTR CommanLine, int Show)
{
 ...
 return 0;
}
Ругается на первую ситроку и синтаксис второй. Почему и как с этим бороться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 09:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему эклипсу не нравится синтаксис (C++):

Почему создатели языка C++ придумали такой странный синтаксис обращения к элементам одномерного массива? - C++
К элементам массива можно обращаться разными способами. Обычно в квадратных скобках пишут номер элемента массива, а тут узнал что так же...

Что-то компилятору не нравится. Ввод-вывод - C++
Да-да КОКОКО, БЫДЛОКОД, МАМКУ... Я его испоганил до ужаса, а компиль всё равно не хочет работать... #include&quot;pch.h&quot; ...

Bonpoc к тем, кому нравится C#. В первую очередь к новичкам. Что вам в нем так сильно нравится? - C#
Вопрос именно к тем, кому C# нравится, своим синтаксисом, краткостью, продуманностью и т.д. (а не просто &quot;пользуюсь = нравится&quot;). Мне,...

Документация по ИДЕЕ или Эклипсу. - Java
нужны доки по ИДЕЕ или Эклипсу, и вообще на чем остановиться помогите разобраться!!! я к сожалению только начинаю!

Почему не срабатывает синтаксис <? ?> ? - PHP
если пишу код в фреймворке Yii2 &lt;li&gt;&lt;? Html::a('Статьи','/post/test') ?&gt;&lt;/li&gt; то код ПХП не работает,а если написать с...

Как перевести синтаксис макроса VBA (Excel) в синтаксис Visual FoxPro - FoxPro
Здравствуйте! Скажите пожалуйста, как перевести синтаксис записанного макроса в excel в синтаксис FoxPro? Нужно, чтобы из FoxPro...

17
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
06.03.2012, 09:10 #2
Цитата Сообщение от taras atavin Посмотреть сообщение
#include <windows.h>
Попробуй
C++
1
#include <windows>
И посмотри какой компилятор используешь

Цитата Сообщение от taras atavin Посмотреть сообщение
WINAPI WinMain
Имя функции - одно слово, простой идентефикатор.
C++
1
WINAPI_WinMain
PS Ща эклип установлю, посмотрю
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 09:19  [ТС] #3
Цитата Сообщение от dimcoder Посмотреть сообщение
И посмотри какой компилятор используешь
Eclipce.
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
06.03.2012, 09:20 #4
Как эклипс? Я только такую IDE знаю. Я use mingW. Он хавает.
Компилер смотришь здесь:
file -> new -> c++ Project -> сними галочку show proj types...blablabla... -> справа будут компилеры (выбери mingW), вводишь имя, финиш

Цитата Сообщение от dimcoder Посмотреть сообщение
Имя функции - одно слово, простой идентефикатор.
Извиняюсь, необоснованно я это ляпнул.
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 09:29  [ТС] #5
Цитата Сообщение от dimcoder Посмотреть сообщение
Имя функции - одно слово, простой идентефикатор.
WINAPI - не часть имени функции, а дополнительный идентификатор, влияющий на её вызов. В винде приняты сочетаения int WINAPI и LRESULT CALLBACK, причём, только для функций.

Добавлено через 2 минуты
Цитата Сообщение от dimcoder Посмотреть сообщение
Как эклипс? Я только такую IDE знаю.
Ну да, это IDE. Но разве она в релизе не объединяется с компилятором?
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
06.03.2012, 10:22 #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Но разве она в релизе не объединяется с компилятором?
Не знаю с каким компилятором она объединяется по умолчанию (если знаете, назовите), но выбирать его можно, я уже говорил как.
Возможно там также нету изначально никаких библиотек (?хотя хз), может есть но их нужно добавлять. И вообще у вас может скомпилется такой простой код:
C++
1
2
int main()
{return 0;}
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 10:31  [ТС] #7
Цитата Сообщение от dimcoder Посмотреть сообщение
И вообще у вас может скомпилется такой простой код:
int main()
{return 0;}
Это то скомпилится, да прога должна быть виндузячей и даже не под виндузячей консолью, а графическая. Я не Чарл Педзолдт и не могу сваоими словами объяснить, почему WinMain должна быть __stdcall, из-за чего принято вместо __stdcall писать WINAPI и чем плоха просто main, но хорошо помню синтаксис из книги и то, что студия не принимает int main (), если заинкладен windows.h. Если подключена виндузячая голова, то или WinMain, или DllMain.
0
Luke
39 / 39 / 1
Регистрация: 21.02.2012
Сообщений: 95
06.03.2012, 10:47 #8
Цитата Сообщение от taras atavin Посмотреть сообщение
что студия не принимает int main (), если заинкладен windows.h. Если подключена виндузячая голова, то или WinMain, или DllMain.
это просто брехня уже
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 10:53  [ТС] #9
Цитата Сообщение от Luke Посмотреть сообщение
это просто брехня уже
Я врать не умею. Не веришь - сам попробуй и убедись: если заинкладен windows.h, но нет ни WinMain, ни DllMain, то студия ругается на отсутствие WinMain, а все мэйны сразу писать нельзя.
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
06.03.2012, 11:23 #10
taras atavin, назовите компилятор который сейчас использует eclipse, будь он компилятором по умолчанию или нет. MingW, как я уже сказал, все хавает, и я думаю если текущий компилятор сменить на него, все будет ОК.
0
Luke
39 / 39 / 1
Регистрация: 21.02.2012
Сообщений: 95
06.03.2012, 11:29 #11
taras atavin,

работает. это студия
C++
1
2
3
4
5
6
7
8
int main(int ard, char* args[])
{
 
    SE_OBJECT_TYPE sot;
    SECURITY_INFORMATION sec;
    ZeroMemory(&sot,sizeof(SE_OBJECT_TYPE));
    ZeroMemory(&sec,sizeof(SECURITY_INFORMATION));
    HANDLE ptok=0;
ты либо умеешь врать, либо что то еще
0
bigredcat
366 / 313 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.03.2012, 11:36 #12
Цитата Сообщение от taras atavin Посмотреть сообщение
если заинкладен windows.h, но нет ни WinMain, ни DllMain, то студия ругается на отсутствие WinMain
Это не правда. Зависит от настроек проекта. Например, от ключей компоновщика /SUBSYSTEM:CONSOLE или SUBSYSTEM:WINDOWS, соответственно, потребуется main или WinMain. А DLL вообще может быть без пользовательской DllMain. А еще есть проекты для создания статической библиотеки, в которой вообще нет так называемой главной функции. И в каждом из этих типов проектов мы имеем право использовать WinAPI.
Цитата Сообщение от taras atavin Посмотреть сообщение
... а все мэйны сразу писать нельзя.
А это правда.
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 11:40  [ТС] #13
[quote=Luke;2764358]это студия
C++
1
2
3
4
5
6
7
int main(int ard, char* args[])
{
SE_OBJECT_TYPE sot;
SECURITY_INFORMATION sec;
ZeroMemory(&sot,sizeof(SE_OBJECT_TYPE));
ZeroMemory(&sec,sizeof(SECURITY_INFORMATION));
HANDLE ptok=0;
Работает, но без #include <windows.h>

Добавлено через 2 минуты
Цитата Сообщение от bigredcat Посмотреть сообщение
Например, от ключей компоновщика /SUBSYSTEM:CONSOLE или SUBSYSTEM:WINDOWS, соответственно, потребуется main или WinMain.
Опять таки, читай:
Цитата Сообщение от taras atavin Посмотреть сообщение
прога должна быть виндузячей и даже не под виндузячей консолью, а графическая.
0
bigredcat
366 / 313 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.03.2012, 11:46 #14
А Eclipse CDT ставится без компилятора (только IDE). Но если путь к MinGW\bin прописан в %PATH% то Eclipse подхватывает его автоматически

Добавлено через 6 минут
Цитата Сообщение от taras atavin Посмотреть сообщение
Опять таки, читай:
Сообщение от taras atavin
прога должна быть виндузячей и даже не под виндузячей консолью, а графическая.
Честно говоря, я не понимаю этого выражения и что вы этим хотели сказать.
Но использовать WinAPI и, соотвественно, подключать заголвок windows.h можно в любых типах приложений (консольных, DLL, статических библиотек) и Visual Studio это нормально воспринимает - это факт.
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.03.2012, 11:58  [ТС] #15
Цитата Сообщение от bigredcat Посмотреть сообщение
Честно говоря, я не понимаю этого выражения и что вы этим хотели сказать.
Что не понятного? Ты вообще оконные проги видел? Это проект одной из них и именно под мелкософт windows. Я отлично знаю, что можно написать DllMain вместо WinMain, да вот беда конкретно это не библиотека. Попробуй в студии начать проект Windows application и не заинкладить туда windows.h. В этом случае принимается int main (), или int main(int Count, char **Parametrs) и получается консольная прога вместо оконной. Но мне нужна оконная.
0
06.03.2012, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2012, 11:58
Привет! Вот еще темы с ответами:

Как перевести синтаксис Intel в синтаксис AT&T? (ассемблерная вставка в СИ) - Assembler
Извиняюсь, что, возможно, пишу не в ту тему. Нужен именно AT&amp;T синтаксит. В качестве примера для курсовой я разбираю перемножение...

Почему синтаксис Python 2.* и Python 3.* так отличается? - Python
Привет! Решил на досуге заняться изучением Python'a. Читаю книгу по второму питону, а пользуюсь третьим. Некоторые вещи приходится...

Мне нравится ! :-) - RedHat, Fedora Linux
Очень нравится мне мой нынешний Сентос 6.7 ! Нетребовательный к ресурсам, почти все работает, а то что есть, работает очень быстро ! Вот...

Не нравится mysqli - PHP БД
$mysqli = new mysqli(&quot;localhost&quot;, &quot;Registrac&quot;, &quot;11111&quot;, &quot;mysite-local&quot;); $password = md5($password); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru