Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mingw-64, не печатает  
:(
    Опции темы
sergioK1
Дата 23.2.2020, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 30.1.2011

Репутация: нет
Всего: нет




проще не бывает 
Код

C:\mingw-w64\mingw32\bin\gcc.exe  main.c 


сам код

Код

#include <stdio.h>
#include <string.h>
 

int main( ) {
    fflush(stdout);
    printf( "hello world " );
 
   return 0;
}  



на терминал ничего не печатется , просто висит курсор, перпобовал все что нашел в гугле, 
ничего не помогает, кто сталкивался с таким ? Виндос десктоп 10 версия ,  gcc версия 8.1.0  
PM MAIL   Вверх
mabrarov
Дата 23.2.2020, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 12.1.2011
Где: Казань

Репутация: 8
Всего: 9



Похоже на буферизацию. 

https://stackoverflow.com/questions/1716296...he-format-strin

Что если добавить fflush(stdout) после вывода:

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <cstdio>

#if defined(WIN32)
int _tmain(int /*argc*/, _TCHAR* /*argv*/[])
#else
int main(int /*argc*/, char* /*argv*/[])
#endif
{
  std::fflush(stdout);
  std::printf("hello world");
  std::fflush(stdout);
  return 0;
}


или 

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <iostream>

#if defined(WIN32)
int _tmain(int /*argc*/, _TCHAR* /*argv*/[])
#else
int main(int /*argc*/, char* /*argv*/[])
#endif
{
  std::cout << "hello world" << std::flush;
  return 0;
}



?
PM MAIL WWW Skype   Вверх
sergioK1
Дата 24.2.2020, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(mabrarov @ 23.2.2020,  19:43)
Похоже на буферизацию. 

https://stackoverflow.com/questions/1716296...he-format-strin

Что если добавить fflush(stdout) после вывода:

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <cstdio>

#if defined(WIN32)
int _tmain(int /*argc*/, _TCHAR* /*argv*/[])
#else
int main(int /*argc*/, char* /*argv*/[])
#endif
{
  std::fflush(stdout);
  std::printf("hello world");
  std::fflush(stdout);
  return 0;
}


или 

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <iostream>

#if defined(WIN32)
int _tmain(int /*argc*/, _TCHAR* /*argv*/[])
#else
int main(int /*argc*/, char* /*argv*/[])
#endif
{
  std::cout << "hello world" << std::flush;
  return 0;
}



?

у  меня Си а не плюсы, fflush(stdout) не помогло , но помогло рестарт винды, хз почему , 
он как то не хорошо с gcc под Windows работает, нету времени студию ставить ,
PM MAIL   Вверх
mabrarov
Дата 24.2.2020, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 12.1.2011
Где: Казань

Репутация: 8
Всего: 9



Windows 10 x64 Pro 1703 

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <stdio.h>

#if defined(WIN32)
int _tmain(int argc, _TCHAR* argv[])
#else
int main(int argc, char* argv[])
#endif
{
  fflush(stdout);
  printf("hello world");
  fflush(stdout);
  return 0;
}


Код

$ set MINGW_HOME=C:\Program Files\MinGW\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64
$ set PATH=%MINGW_HOME%\bin;%PATH%
$ gcc --version
gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc.exe main.c

$ echo %errorlevel%
0

$ a.exe
hello world


Опять же MinGW 8.1.0 x64. 32-битного нет чтобы проверить.

И даже оригинальный вариант работает

Код

#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <stdio.h>

#if defined(WIN32)
int _tmain(int argc, _TCHAR* argv[])
#else
int main(int argc, char* argv[])
#endif
{
  fflush(stdout);
  printf("hello world");
  return 0;
}


Это сообщение отредактировал(а) mabrarov - 24.2.2020, 11:50
PM MAIL WWW Skype   Вверх
mabrarov
Дата 24.2.2020, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 12.1.2011
Где: Казань

Репутация: 8
Всего: 9



Проверил c MinGW 8.1.0 x86:

Код

$ dir /B
main.c

$ type main.c
#if defined(WIN32)
#include <tchar.h>
#include <windows.h>
#endif

#include <stdio.h>

#if defined(WIN32)
int _tmain(int argc, _TCHAR* argv[])
#else
int main(int argc, char* argv[])
#endif
{
  fflush(stdout);
  printf("hello world");
  return 0;
}

$ docker run --rm -e PATH=C:\mingw32\bin abrarov/mingw:2.6.0 g++ --version
g++ (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ docker run --rm -v "%cd%:C:\build" -e PATH=C:\mingw32\bin -w C:\build abrarov/mingw:2.6.0 g++ -static main.c

$ echo %errorlevel%
0

$ dir /B
a.exe
main.c

$ a.exe
hello world

$ ver
Microsoft Windows [Version 10.0.17763.720]


Возможно и вправду что-то с Windows было не так

Это сообщение отредактировал(а) mabrarov - 24.2.2020, 22:45
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2014 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.