Обсуждение Программирование на C/C++

Mironov Ivan

Ословед
Crying Devil Dante написал(а):
Парни подскажите неплохой компилятор с\с++ для обеих платформ, если есть такие и желательно ссылку в осле...
Одновременно и под Windows и под Linux - компиляторы GCC (GNU Compiler Collection, GNU C Compiler - "старое" название). Во всех линуксовых дистрибутивах (кроме совсем урезанных, типа ALTLinux Junior) GCC должен входить в поставку. Под Windows GCC входит в MinGW (Minimal GNU for Windows). Вот:
gcc-g++-3.4.2-20040916-1.tar.gz - 4.61 Mb [232-235] - сам компилятор + стандартные либы и заголовочники.
gdb-5.2.1-1.rar - 1.73 Mb [232-235] - консольный отладчик.
mingw32-make-3.80.0-3.rar - 1.21 Mb [232-235] - make
mingw-utils-0.3.tar.gz - 1.51 Mb [232-235] - разные полезные утилиты
binutils-2.15.91-20040904-1.tar.tar - 5.88 Mb [232-235] - ещё утилиты =)
w32api-3.6.tar.tar - 1.47 Mb [232-235] - библиотеки и заголовочники для Win32 API
GCC под форточки ещё входит в Cygwin, но я им как-то не интересовался.
 

Mironov Ivan

Ословед
Ещё могу посоветовать разные IDE (опять же для GCC).

1) Code Blocks
Достаточно простая IDE. К ней можно прикручивать GCC, MSVC++C и ещё какой-то компилятор. Существует только под Windows (вроде...).
CodeBlocks v1.0 Final Beta.rar - 2.56 Mb [232-235]
2) DevC++
MinGW идёт в комплекте. Существует версия для Linux, но у меня её нет. Эта IDE написана на Delphi =). ИМХО классная штука (правда глюков там немало).
DevC++ v4.9.9.2.rar - 8.90 Mb [232-235]
3) Eclipse + CDT
Eclipse - платформа для разработки различных IDE, написанная на Java. Основной для неё является JDT (Java Development Toolkit), но есть IDE и для других языков, в том числе и для C++ (CDT). Существует под огромное количество платформ. Прикрутить можно любой компилятор. Интерфейс больше всего напоминает MSVS. Сложна в настройке =).
Eclipse platform v3.2 for Win32.zip - 33.95 Mb [232-235] - сама платфома
Eclipse CDT v3.1.0 for Win32.zip - 11.60 Mb [232-235] - C++ Development Toolkit
Так же настоятельно рекомендуется установить ява рантайм посвежее:
Java 2 Platform SE v5.0 update 7.rar - 17.40 Mb [232-235]
Полностью настроенный эклипс (и цдт) входит в поставку Fedora Core 5, так что файлов под линукс у меня опять нету =(. (Вышеуказанные файлы для Eclipse я скачал недавно и ещё не устанавливал, так что возможно, что версия плагина не совместима с версией платформы)
 
Ш

Штурман

Какие сейчас самые быстрые компиляторы для C/С++, если сравнивать по производительности вычислений с плавающей запятой?
Есть ли компактные консольные компиляторы для Win32?
 

Mironov Ivan

Ословед
Штурман написал(а):
Какие сейчас самые быстрые компиляторы для C/С++, если сравнивать по производительности вычислений с плавающей запятой?
Самый оптимальный код (для любых вычислений) генерирует Intel C++ Compiler (ICC). Он платный, но покряканых версий дофига на пиратских дисках. А вообще вычисления с плавающей точкой работают с одинаковой скоростью почти на всех компиояторах (кроме борланда) - это не такие уж и сложные операции (в плане оптимизации). А вот если сравнивать SIMDы, генерируемые компилятором автоматически (т.е. не по ассемблерным вставкам), то ICC - явно безоговорочный лидер =).
Штурман написал(а):
Есть ли компактные консольные компиляторы для Win32?
Что ты понимаешь под словом "компактные"? Если те, у которых меньше всего объём дистрибутива, то я уже выложил выше GCC. Ещё могу выложить бесплатный MSVC++ 7.1:
Microsoft Visual C++ Toolkit 2003.rar - 29.56 Mb [232-235]
ICC весит около 120-и мб.
 
Ш

Штурман

Mironov Ivan написал(а):
Самый оптимальный код (для любых вычислений) генерирует Intel C++ Compiler (ICC). Он платный, но покряканых версий дофига на пиратских дисках. А вообще вычисления с плавающей точкой работают с одинаковой скоростью почти на всех компиояторах (кроме борланда) - это не такие уж и сложные операции (в плане оптимизации). А вот если сравнивать SIMDы, генерируемые компилятором автоматически (т.е. не по ассемблерным вставкам), то ICC - явно безоговорочный лидер =).
Спасибо... я перерыл с десяток форумов и сайтов и получил такой же ответ.
Сейчас попытаюсь освоить gcc и найти icc...
А где можно почитать про gcc на русском?
 

Sprut

Ословед
Чето не добовляет в реестр понять не могу по чему, пишет мне недопустимое имя разделов
Код:
 #include "stdafx.h"
#include "iostream"
 #include "stdlib.h"
using std::system;
 void main()
 {

     
  system("SET KEY=HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce");
  system("REG ADD %KEY% /V Title /D \"%SystemRoot%\\system32\\Пример.exe\"");
 
 };
 

Shell

Ословед
Sprut написал(а):
Чето не добовляет в реестр

system("SET KEY=HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce");

переменная среды KEY устанавливается только на время выполнения system, после завершения исчезает и в следующем system уже неизвестна.
Нужно либо сделать .bat-файл и его запускать, либо написать конкретное значение вместо %KEY% во втором вызове
 

Sprut

Ословед
Shell написал(а):
переменная среды KEY устанавливается только на время выполнения system, после завершения исчезает и в следующем system уже неизвестна.
Нужно либо сделать .bat-файл и его запускать, либо написать конкретное значение вместо %KEY% во втором вызове
Shell мне вот здесь помагли не множко
system("REG ADD HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce /V Title /D %SystemRoot%\\пример.exe");
Серавно спасибо за ответ
 

Jezebel

Ословед
VC++,MFC

вопрос такой как в MFC или VC++ можной пронести код рисунка буть то bmp или jpg , не считайет за нарушения правил просто по си не нашласось не одно темы в этом разделе
 

AxG

Ословед
Можно воспользоваться функцией fopen(); , открыв файл в двоичном коде и делать с ним что угодно
 

Jezebel

Ословед
GAV написал(а):
Можно воспользоваться функцией fopen(); , открыв файл в двоичном коде и делать с ним что угодно
тока как в код вставить двоичный код чтоб компилятор неругался?
и как двоичный код очень длиные вставлять вставлять в коды MFC?
 

AxG

Ословед
В Borland Builder можно несколькими щелчками мыши прикрепить рисунок к исполняемому файлу, может и VC++ можно также
 

Jezebel

Ословед
GAV написал(а):
В Borland Builder можно несколькими щелчками мыши прикрепить рисунок к исполняемому файлу, может и VC++ можно также

Люди помогите организовать связку C++ и MySQL, скачал для этого компонент zeosdbo-6.5.1-alpha_cvs_13-10-2005.zip, но не смог его скомпилировать под Borland C++ Builder 6
опиши как в буилдоре?
 

AxG

Ословед
Нужно добавить объект Image, потом в поле Picture загрузить изображение
 

Shell

Ословед
В VC есть компилятор ресурсов (.rc)
rc-файл подключаем к проекту
Пример rc-файла:
MYPICTURE BITMAP XXX.BMP
JPEG1 RCDATA YYY.JPG

картинки только в BMP. для загрузки использовать
Код:
HBITMAP LoadBitmap(
    HINSTANCE hInstance,// NULL
    LPCTSTR lpBitmapName // "MYPICTURE"
   );
Можно любые данные затолкать (FindResource и LoadResource), но как потом распаковать JPG?
 

Jezebel

Ословед
Shell написал(а):
В VC есть компилятор ресурсов (.rc)
rc-файл подключаем к проекту
Пример rc-файла:
MYPICTURE BITMAP XXX.BMP
JPEG1 RCDATA YYY.JPG

картинки только в BMP. для загрузки использовать
Код:
HBITMAP LoadBitmap(
    HINSTANCE hInstance,// NULL
    LPCTSTR lpBitmapName // "MYPICTURE"
   );
Можно любые данные затолкать (FindResource и LoadResource), но как потом распаковать JPG?
да само интересно как пото вытащить в нужный момент эту картинку из ресурсов мне тоже интеренсо? (затолкать то получилос)
 

Shell

Ословед
Jezebel написал(а):
да само интересно как пото вытащить в нужный момент эту картинку из ресурсов мне тоже интеренсо? (затолкать то получилос)
Вытащить - вывести на экран?
 

Shell

Ословед
Тогда все картинки в формате RCDATA

Код:
HRSRC r=FindResource(NULL,"JPEG1",RT_RCDATA);
long s=SizeofResource(NULL,r);
void *p=(void *)LockResource(LoadResource(NULL,r));
FILE *f=fopen("YYY.JPG","wb");
fwrite(p,1,s,f);
fclose(f);
 
Сверху