Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
1

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

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

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
#include <windows.h>
int WINAPI WinMain (HINSTANCE Instance, HINSTANCE Previus, LPSTR CommanLine, int Show)
{
 ...
 return 0;
}
Ругается на первую ситроку и синтаксис второй. Почему и как с этим бороться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2012, 09:09
Ответы с готовыми решениями:

Почему компилятору не нравится объявление производного класса?
не понимаю почему компилятору не нравится класс TwoDShape. Визуал Студио начинает ругаться на этапе...

Подскажите, пожалуйста, почему компилятору не нравится '.' в конце программы?
const NA=20; Type Mas=array of word; var g :Mas; i,n :word; procedure Gray(k :word);

Bonpoc к тем, кому нравится C#. В первую очередь к новичкам. Что вам в нем так сильно нравится?
Вопрос именно к тем, кому C# нравится, своим синтаксисом, краткостью, продуманностью и т.д. (а не...

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

17
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
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
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.03.2012, 09:19  [ТС] 3
Цитата Сообщение от dimcoder Посмотреть сообщение
И посмотри какой компилятор используешь
Eclipce.
0
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
06.03.2012, 09:20 4
Как эклипс? Я только такую IDE знаю. Я use mingW. Он хавает.
Компилер смотришь здесь:
file -> new -> c++ Project -> сними галочку show proj types...blablabla... -> справа будут компилеры (выбери mingW), вводишь имя, финиш

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

Добавлено через 2 минуты
Цитата Сообщение от dimcoder Посмотреть сообщение
Как эклипс? Я только такую IDE знаю.
Ну да, это IDE. Но разве она в релизе не объединяется с компилятором?
0
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
06.03.2012, 10:22 6
Цитата Сообщение от taras atavin Посмотреть сообщение
Но разве она в релизе не объединяется с компилятором?
Не знаю с каким компилятором она объединяется по умолчанию (если знаете, назовите), но выбирать его можно, я уже говорил как.
Возможно там также нету изначально никаких библиотек (?хотя хз), может есть но их нужно добавлять. И вообще у вас может скомпилется такой простой код:
C++
1
2
int main()
{return 0;}
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.03.2012, 10:31  [ТС] 7
Цитата Сообщение от dimcoder Посмотреть сообщение
И вообще у вас может скомпилется такой простой код:
int main()
{return 0;}
Это то скомпилится, да прога должна быть виндузячей и даже не под виндузячей консолью, а графическая. Я не Чарл Педзолдт и не могу сваоими словами объяснить, почему WinMain должна быть __stdcall, из-за чего принято вместо __stdcall писать WINAPI и чем плоха просто main, но хорошо помню синтаксис из книги и то, что студия не принимает int main (), если заинкладен windows.h. Если подключена виндузячая голова, то или WinMain, или DllMain.
0
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
06.03.2012, 10:47 8
Цитата Сообщение от taras atavin Посмотреть сообщение
что студия не принимает int main (), если заинкладен windows.h. Если подключена виндузячая голова, то или WinMain, или DllMain.
это просто брехня уже
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.03.2012, 10:53  [ТС] 9
Цитата Сообщение от Luke Посмотреть сообщение
это просто брехня уже
Я врать не умею. Не веришь - сам попробуй и убедись: если заинкладен windows.h, но нет ни WinMain, ни DllMain, то студия ругается на отсутствие WinMain, а все мэйны сразу писать нельзя.
0
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
06.03.2012, 11:23 10
taras atavin, назовите компилятор который сейчас использует eclipse, будь он компилятором по умолчанию или нет. MingW, как я уже сказал, все хавает, и я думаю если текущий компилятор сменить на него, все будет ОК.
0
40 / 40 / 7
Регистрация: 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
374 / 321 / 32
Регистрация: 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
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
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
374 / 321 / 32
Регистрация: 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
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.03.2012, 11:58  [ТС] 15
Цитата Сообщение от bigredcat Посмотреть сообщение
Честно говоря, я не понимаю этого выражения и что вы этим хотели сказать.
Что не понятного? Ты вообще оконные проги видел? Это проект одной из них и именно под мелкософт windows. Я отлично знаю, что можно написать DllMain вместо WinMain, да вот беда конкретно это не библиотека. Попробуй в студии начать проект Windows application и не заинкладить туда windows.h. В этом случае принимается int main (), или int main(int Count, char **Parametrs) и получается консольная прога вместо оконной. Но мне нужна оконная.
0
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
06.03.2012, 13:37 16
taras atavin, ты прикалываешься?

C++
1
2
#include <Windows.h>
#include <AclAPI.h>
+ консолька. все работает из студии. не надо вин длл мэйна. ты что то не так делаешь

Добавлено через 3 минуты
Цитата Сообщение от Luke Посмотреть сообщение
SE_OBJECT_TYPE sot;
* * * * SECURITY_INFORMATION sec;
* * * * ZeroMemory(&sot,sizeof(SE_OBJECT_TYPE));
* * * * ZeroMemory(&sec,sizeof(SECURITY_INFORMATION));
* * * * HANDLE ptok=0;
и это....перед тобой все виндузевые примочки и функция и типы. БЕЗ windows .h это вообще нигде работать не будет
0
374 / 321 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.03.2012, 13:55 17
Господин taras atavin, вот конкретное ваше утверждение.
Цитата Сообщение от taras atavin Посмотреть сообщение
Не веришь - сам попробуй и убедись: если заинкладен windows.h, но нет ни WinMain, ни DllMain, то студия ругается на отсутствие WinMain, а все мэйны сразу писать нельзя.
Из вашего утверждения следует, что если подключаешь в проекте windows.h, то приложение должно использовать либо WinMain, либо DllMain. Иначе Visual Studio выдаст сообщение об ошибке.
Я вам конкретно на это утверждение ответил, что это не так. Что можно подключить заголовок windows.h в консольном приложении, где пользовательская точка входа main (а не WinMain или DllMain), и Visual Studio не будет ругаться.

Не по теме:

Но вы начали выяснять у меня, что я видел, объяснять, какими должны быть приложения. Типа, в огороде бузина, а в Киеве дядька

0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
07.03.2012, 06:50  [ТС] 18
Цитата Сообщение от dimcoder Посмотреть сообщение
Попробуй
C++
1
#include <windows>
Не помогло. Оказалось, что он голову не нашёл.

Добавлено через 2 минуты
Я всегда выбираю или dll, иои windows application. Если не инкладить, то принимается main и получается консольная прилада, иначе не принимается.

Добавлено через 14 минут
Цитата Сообщение от dimcoder Посмотреть сообщение
назовите компилятор который сейчас использует eclipse, будь он компилятором по умолчанию или нет. MingW,
MinGW GCC. Ничего более похожего на MingW в списке нет.
0
07.03.2012, 06:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2012, 06:50
Помогаю со студенческими работами здесь

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

Почему в ReactJS Visual Studio не подсвечивается синтаксис?
Такая проблемма когда я пиши просто на js у меня весь синтаксис все подсвечивает а когда взял html...

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru