Форум программистов, компьютерный форум CyberForum.ru

программа работает не на всех компах - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
KONO
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
01.12.2011, 15:18     программа работает не на всех компах #1
Кто знает почему программа на одних компах работает на других нет?
в чем может быть проблема?
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
int main()
{
    FreeConsole();
    while(1)
    {
        BlockInput(true);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 15:18     программа работает не на всех компах
Посмотрите здесь:

exe-файл не работает на компах C++
Билдер 6 сохранить с проэкт с разширением .ехе! Что бы работал как обычная программа и на др компах! C++
C++ Не могу разобраться почему не работает программа(Код, написанный на Borland C++ не работает в Dev C++)
Программа не работает на всех компах кроме моего C++
C++ Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
01.12.2011, 15:26     программа работает не на всех компах #2
Она у вас написана некорректно. У вас функция типа
C++
1
 int
, а
C++
1
 return 0;
в её конце отсутствует, поэтому вам нужно в её конец
C++
1
return 0;
поставить. Странно, что она вообще работает
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
01.12.2011, 15:26     программа работает не на всех компах #3
Цитата Сообщение от KONO Посмотреть сообщение
Кто знает почему программа на одних компах работает на других нет?
Что значит не работает?
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
01.12.2011, 15:28     программа работает не на всех компах #4
либо
C++
1
int main()
заменить на
C++
1
 void main()
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
01.12.2011, 15:28     программа работает не на всех компах #5
Скорее всего дело в библиотеке windows.h
А не работает в смысле как?Ошибки компиляции?
Система одна и та же на каждом компе?


Может быть лучше
C++
1
int main(void)
?
У меня на codeblocks
C++
1
void main()
вообще отказывается компилироваться
Или объясните в чем разница?
Кстати я где-то читал,что если не написать return 0 в конце компиляторы современные сами его допишут
Может поэтому и у него заработало...
KONO
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
01.12.2011, 16:08  [ТС]     программа работает не на всех компах #6
Цитата Сообщение от fasked Посмотреть сообщение
Что значит не работает?
запускается, но не делает своей функции, блокирует мышь и клаву.

Добавлено через 2 минуты
главна где то на 5 компах протестил, на 3 всё работало ок, на остальных вроде в таскменеджер есть процесс но клавиатура действует.
Сыроежка
Заблокирован
01.12.2011, 16:13     программа работает не на всех компах #7
Цитата Сообщение от DenCHS200 Посмотреть сообщение
Она у вас написана некорректно. У вас функция типа
C++
1
 int
, а
C++
1
 return 0;
в её конце отсутствует, поэтому вам нужно в её конец
C++
1
return 0;
поставить. Странно, что она вообще работает
Увы, вам следует сначала изучить С/С++ прежде, чем давать комментарии. Предложение с return для функции main совершенно не обязательно согласно стандарту языка и для такой маленькой программы даже излишне!
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
01.12.2011, 16:40     программа работает не на всех компах #8
1. Функция BlockInput возвращает bool значение о том, что ввод уже заблокирован, зачем её вызывать в бесконечном цикле?
2. На современных ОС для подобных игрулек программа должна запускаться с соответствующими привилегиями.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
01.12.2011, 19:25     программа работает не на всех компах #9
Увы, вам следует сначала изучить С/С++ прежде, чем давать комментарии. Предложение с return для функции main совершенно не обязательно согласно стандарту языка и для такой маленькой программы даже излишне!
Уж кому повторить С/С++ так это вам! Если функция должна возвращать значение, а в данном случае это тип int , то return необходим. !Иначе программа просто не должна компилироваться.Такое ощущение, что вы ни разу С++ не запускали,вот сами попробуйте функцию int без return сделать, а потом пишите!
KONO
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
02.12.2011, 17:46  [ТС]     программа работает не на всех компах #10
Цитата Сообщение от DenCHS200 Посмотреть сообщение
Уж кому повторить С/С++ так это вам! Если функция должна возвращать значение, а в данном случае это тип int , то return необходим. !Иначе программа просто не должна компилироваться.Такое ощущение, что вы ни разу С++ не запускали,вот сами попробуйте функцию int без return сделать, а потом пишите!
но вот запускается, так что тем не менее вы не полностью правы
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
02.12.2011, 17:55     программа работает не на всех компах #11
DenCHS200, Сыроежка, конечно, не гений в си++, но в данном случае он прав. Почитайте стандарт. Если у вас такой код не работает, значит смените компилятор.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.12.2011, 17:58     программа работает не на всех компах #12
Цитата Сообщение от DenCHS200 Посмотреть сообщение
Если функция должна возвращать значение, а в данном случае это тип int , то return необходим. !Иначе программа просто не должна компилироваться.Такое ощущение, что вы ни разу С++ не запускали,вот сами попробуйте функцию int без return сделать, а потом пишите!
Функция main - это особый случай. Посмотрим, что по этому поводу говорит нам стандарт:
A return statement in main has the effect of leaving the main function (destroying any objects with automatic storage duration) and calling std::exit with the return value as the argument. If control reaches the end of main without encountering a return statement, the effect is that of executing
C++
1
return 0;
Не вдаваясь в детали перевода на русский язык, можно сказать так:
Если достигнут конец функции main и оператор return не был встречен, то эффект будет аналогичен выполнению кода return 0.
Цитата Сообщение от DenCHS200 Посмотреть сообщение
Уж кому повторить С/С++ так это вам!
Учиться, учиться, учиться и еще раз учиться. Вы не правы.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
02.12.2011, 22:19     программа работает не на всех компах #13
выяснил сегодня, что return вписывается на некоторых средах разработки автоматически, так что он всё равно присутствует В этой теме кто-то уже писал о автоматическом дополнении return, но то , что если функция НЕ типа void то return должен быть обязательно.Так, что автоматически вписывается, но то, что он в функциях Не типа void может отсутствовать - это бред!
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.12.2011, 22:24     программа работает не на всех компах #14
DenCHS200, омг
Вы тролль? Вам уже привели цитату из стандарта языка и её примерный перевод, а вы всё про баню... Выньте голову оттуда, где она у вас сейчас, и перечитайте предыдущие сообщения в теме.
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
02.12.2011, 23:33     программа работает не на всех компах #15
Какой у Вас копмилятор?

Добавлено через 6 минут
Любой компилятор воспримет отсутсвие return нормально?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.12.2011, 23:43     программа работает не на всех компах #16
diman94x, любой, поддерживающий стандарт. Об иных ничего сказать нельзя, ведь кто знает, чем руководствовались их разработчики.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 00:09     программа работает не на всех компах #17
Цитата Сообщение от diman94x Посмотреть сообщение
Любой компилятор воспримет отсутсвие return нормально?
Если он отсутствует, то компилятор сам вставляет
C
1
return 0;
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
03.12.2011, 11:54     программа работает не на всех компах #18
Нет, я не тролль,1й компилятор от Visual Studio 2й от Borland C++ , и те и те пишут про return, вот я и завёлся по этому поводу, пока вчера DEv-c++ не опробовал, там он действительно вставляет return.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 12:03     программа работает не на всех компах #19
Цитата Сообщение от DenCHS200 Посмотреть сообщение
1й компилятор от Visual Studio 2й от Borland C++ , и те и те пишут про return,
да ладно, у меня даже предупреждение не вынес
читайте программа работает не на всех компах
и вот http://codepad.org/15ieV36o
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 12:08     программа работает не на всех компах
Еще ссылки по теме:

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает C++
C++ Программа , которая выводит время, за которое программа работает
Программа работает не для всех случаев C++

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

Или воспользуйтесь поиском по форуму:
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
03.12.2011, 12:08     программа работает не на всех компах #20
Странно, у меня сразу подчёркивает }(Последнюю скобку проги) потом компилирую и пишет что-то типа main must return value. Видимо , про этот return и пишет

Добавлено через 1 минуту
А вот DEV-C++ вчера опробовал и тот нормально без return компилет Мож у меня в студии какие настройки добавить нужно?
Yandex
Объявления
03.12.2011, 12:08     программа работает не на всех компах
Ответ Создать тему
Опции темы

Текущее время: 23:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru