С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 3

Не могу откомпилировать из сомандной строки cl.exe

04.11.2013, 14:12. Показов 862. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такая программа

C++
1
2
3
4
5
#include <stdio.h>
int main ()
{
    for (int i = 1; i <= 10; i++) printf("%i\n", i);
}
при компиляции с помощью cl.exe вызывает такие ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
F:\Learn\CPP>cl learn030.c 
learn030.c
learn030.c(4) : error C2143: syntax error : missing ';' before 'type'
learn030.c(4) : error C2143: syntax error : missing ';' before 'type'
learn030.c(4) : error C2143: syntax error : missing ')' before 'type'
learn030.c(4) : error C2143: syntax error : missing ';' before 'type'
learn030.c(4) : error C2065: 'i' : undeclared identifier
learn030.c(4) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
learn030.c(4) : error C2065: 'i' : undeclared identifier
learn030.c(4) : error C2059: syntax error : ')'
learn030.c(4) : error C2146: syntax error : missing ';' before identifier 'printf'
независимо от опций компилятора, хотя такой вариант:

C++
1
2
3
4
5
6
#include <stdio.h>
int main ()
{
    int i;
    for (i = 1; i <= 10; i++) printf("%i\n", i);
}
компилится без проблем. g++ компилит оба варианта. Также успешно компилится и из IDE VS, правда там добавляется #include "StdAfx.h"
В чем может быть проблема?

Добавлено через 14 минут
Ха, понятно. Достаточно переименовать файл из .c в .cpp или поставить ключ компилятора /TP - компилировать как C++. Извините, но промучился полдня, а как только написал в форум. так ответ нашелся.

Тема закрыта.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2013, 14:12
Ответы с готовыми решениями:

Можно ли откомпилировать программу в exe
Ну собственно сам вопрос уже прочитан). Тут я никак не могу сообразить как можно через турбо паскаль создать ехе файл. например сделал...

Как откомпилировать проект в exe Файл
Всем добрый вечер. Мне нужно сделать exe - файл своей программы. Чтобы можно было скинуть этот exe на флешку а не всю программу. Не...

Как откомпилировать проект в exe файл
Допустим я сделал свою мини программку! Но она запускается только в делфе. Как сделать с исходника exe файл, чтобы его можно было запустить...

4
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
04.11.2013, 15:54
Проблема в том, что в ранних стандартах языка Си переменные в цикле объявлять нельзя.
1
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 3
04.11.2013, 20:14  [ТС]
Это-то я знаю. Меня сбило с толку, что в книжке Programming in C 3rd Edition Stephen Kochan написано, что вроде в стандарте 99 года так делать можно. Сам стандарт я не читал, конечно, но думал, что CL его поддерживает с какой-нибудь из опций компилятора даже для чистого С. Оказалось, что нет - только для cpp. Или я еще чего-то недорыл.

Добавлено через 14 минут
А вот и подтверждение. В gnu компиляторе чистого С - gcc, есть ключ -std=с99, с которым все ок, а вот в микрософтовском cl я такого ключа не нашел.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
04.11.2013, 21:32
Цитата Сообщение от dymsh Посмотреть сообщение
в стандарте 99 года так делать можно
Да, это появилось со стандарта С99.
1
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 3
04.11.2013, 22:05  [ТС]
Ну вот собственно определенный ответ. MS CL не поддерживает чистый C стандарта 99 года:

VC++ compiles either in C mode (which is def. *not* C99!):
cl.exe /TC c_file.c

or in C++ mode
cl.exe /TP cpp_file.cpp

In C mode (/TC), VC++ is definately *not* conform to C99!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2013, 22:05
Помогаю со студенческими работами здесь

Откомпилировать файл sound.rc в brcc32.exe
я не могу откомпилировать файл sound.rc в brcc32.exe помогите пожалуйста содержание файла sound WAVE sound.wav пожалуйста

Как откомпилировать с помощью csc.exe?
Как с помощю csc.exe из program.cs получить program.exe?

Как откомпилировать проект в exe файл
Здравствуйте! В институте задали сделать лабы дома по Дельфи 7, а лекций не каких и не было(( Дали только образец в формате pas и...

Можно ли на CBuilder 6 откомпилировать exe для Linux?
I voobshe, vot napisal ya na CBuilder programmku, a kak sdelat' takuu ge dlya Linuxa? Isvinyaus' sa durazkiy vopros i saranie blagodaru...

Как откомпилировать проект на LabView и создать из него файл exe?
Мне нужно на другом компе запустить свою программу, а для этого на своем создать ехешник, как создавать его примерно знаю, но запутался с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru