Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Вопросы по C/C++ (Для новичков)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> RE: Вопросы по C/C++ (Для новичков)
Имя
Сообщение << Старые топики   Новые топики >>
RE: Вопросы по C/C++ (Для новичков) - 2010-09-25 17:25:09.840000   
Vlad156

Сообщений: 67
Оценки: 0
Присоединился: 2010-04-11 20:45:05.180000
Как в код программы вставить символ тильды? Хочу с конструкторами и деструкторами попробовать, а не могу найти символ тильды.
Post #: 1961
RE: Вопросы по C/C++ (Для новичков) - 2010-09-25 17:37:58.113333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Рядом с единичкой, под esc. С шифтом надо.
Post #: 1962
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 16:25:07.883333   
Milagres

Сообщений: 16
Оценки: 0
Присоединился: 2010-09-26 10:42:17.430000
Пишу калькулятор, никак не пойму одной вещи: как сделать так, чтобы при нажатии кнопки, допустим, 1 в окне LabelEdit отображалось это самое 1? Пробовала писать типа: LabelEdit1->Text=BitBtn1->1, но компилятор сильно ругается.

пользую borland developer studio 2006, если что.)
Post #: 1963
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 16:40:09.653333   
Motorcode

Сообщений: 68
Оценки: 0
Присоединился: 2009-07-15 21:15:27.283333
Может так?
LabelEdit1-&gt;Text = "1"
Post #: 1964
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 16:44:09.836666   
Milagres

Сообщений: 16
Оценки: 0
Присоединился: 2010-09-26 10:42:17.430000
да,спасибо,до этого я уже дошла,но я утыкаюсь в другую проблему: при нажатии другой кнопки уже забитое число в это окшко убивается и пишется новое, т.е. получается,что я могу работать только с однозначными числами
Post #: 1965
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 17:08:05.376666   
Motorcode

Сообщений: 68
Оценки: 0
Присоединился: 2009-07-15 21:15:27.283333
Ну тогда так
LabelEdit1-&gt;Text = LabelEdit1-&gt;Text + "1";
Post #: 1966
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 17:17:05.726666   
Milagres

Сообщений: 16
Оценки: 0
Присоединился: 2010-09-26 10:42:17.430000
О,спасибо.))
Post #: 1967
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 19:10:00.256666   
Milagres

Сообщений: 16
Оценки: 0
Присоединился: 2010-09-26 10:42:17.430000
я снова с вопросом.))
калькулятор для меня оказался слишком сложным, решила пока осваиваться по учебнику, НО. Пишу код по учебнику:
void __fastcall TForm2::N5Click(TObject *Sender) { Image1-&gt;Picture-&gt;LoadFromFile("C:\\Windows\\Кофейня.bmp"); } //--------------------------------------------------------------------------- void __fastcall TForm2::N6Click(TObject *Sender) { Image1-&gt;Picture-&gt;LoadFromFile("C\\Windows\\Рододендрон.bmp"); }
но когда включаю программу, первая картинка открывается нормально, а вторая же ругается, что не может найтись, хотя картинка существует.
да и ругается как-то странно: "First chance exception at $7C812AFB. Exception class EFOpenError with message 'Cannot open file "C:\Documents and Settings\SERGY.SERG\Мои документы\Borland Studio Projects\менюшка\C\Windows\Рододендрон.bmp". Системе не удается найти указанный путь'. Process Project2.exe (5260)".
Post #: 1968
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 19:20:48.373333   
Motorcode

Сообщений: 68
Оценки: 0
Присоединился: 2009-07-15 21:15:27.283333
"C:\\Windows\\Рододендрон.bmp"

Двоеточие-то забыли
Post #: 1969
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 19:32:23.106666   
Milagres

Сообщений: 16
Оценки: 0
Присоединился: 2010-09-26 10:42:17.430000
Спасибо, не заметила.))

а вот еще. У меняя по идее должно работать контекстное меню. Я написала код:
void __fastcall TForm2::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TPoint p; p.x=X; p.y=Y; p=ClientToScreen(p); PopupMenu1-&gt;Popup(p.x, p.y);
Программа не ругается. Просто не выполняет задуманного.
Post #: 1970
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 20:11:26.510000   
Motorcode

Сообщений: 68
Оценки: 0
Присоединился: 2009-07-15 21:15:27.283333

quote:

ORIGINAL: Milagres

Спасибо, не заметила.))

а вот еще. У меняя по идее должно работать контекстное меню. Я написала код:
void __fastcall TForm2::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TPoint p; p.x=X; p.y=Y; p=ClientToScreen(p); PopupMenu1-&gt;Popup(p.x, p.y);
Программа не ругается. Просто не выполняет задуманного.


Если меню должно появится при нажатии на форму(да и на любой другой элемент), то выберите в свойстве PopupMenu формы - PopupMenu1. А не выполняет она наверное потому, что вы не добавили пункты в меню
Post #: 1971
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 23:21:53.793333   
Hennessy_paradise

Сообщений: 3
Оценки: 0
Присоединился: 2010-09-21 17:45:00.476666
Есть код, запись из текстового файла, слов в массив, нужно сделать еще два таких массива из других файлов, использую данную функцию, хотел после каждого файла присваивать значение новой структурированой переменной, обнуляя старую, но не выходит, подкиньте мыслей, как исправить или другой способ…

#include &lt;stdio.h&gt; #include &lt;string.h&gt; struct Word { char word[100]; int line, position; }; struct Word tarrWords[1000], mass1[1000], mass2, mass3; void parseString(const char *str, const int line, int *wNum) { int pos = 0; int i = 0; tarrWords[*wNum].position = pos+1; tarrWords[*wNum].line = line; for (pos = 0; pos &lt; strlen(str); pos++) { if ((str[pos] != ' ')&&(str[pos] != '\n')) { if (ispunct(str[pos]) == 0) { tarrWords[*wNum].word[i] = str[pos]; i++; } } else { i=0; (*wNum)++; tarrWords[*wNum].position = pos+2; tarrWords[*wNum].line = line; } } (*wNum)++; } int main (int argc, char* argv[]) { FILE *f; int line = 0, symbol = 0, wordNum = 0, i = 0, count = 0; char str[1000], word[100]; if ((f = fopen("test.txt","r")) == NULL) { printf("%s","Не возможно открыть файл!"); return 1; } while (!feof(f)) { line++; fgets(str,1000,f); parseString(str,line,&wordNum); } fclose(f); /* for (i=0; i&lt;=wordNum; i++) { tarrWords[i].word = mass1[i].word; printf("%s"," ",mass1[i]); } */ tarrWords[1000] = mass1[1000]; // не работает присвоение.... printf("%s", mass1[10].word); getchar(); printf("%d,%s,%d",tarrWords[10].position, tarrWords[10].word, tarrWords[10].line); getchar(); return 0; }
Компилю под Ubuntu, послед. gcc
Post #: 1972
RE: Вопросы по C/C++ (Для новичков) - 2010-09-26 23:49:18.613333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: EXTRACTION

что дает?


ты или не ходишь по ссылкам, или не умеешь читать:

Inserts a new-line character.
Additionally, for buffered streams, endl flushes the buffer (i.e. writes all unwritten characters in the buffer to the output sequence, see ostream::flush).

new-line character может быть разным - LF, CR, или LF-CR (и, в принципе, каким угодно ещё)
Post #: 1973
RE: Вопросы по C/C++ (Для новичков) - 2010-10-24 13:53:44.963333   
PiNkY X]

Сообщений: 123
Оценки: 0
Присоединился: 2009-08-09 13:07:28.723333
глупая задача( только начинаю учить с++):
Написать прогу, выполняющую частотный анализ  строки, введенной юзером(т.е вычисляющей сколько раз символ входит в строку).
Рапорт по каждому символу выдается 1 раз.
Post #: 1974
RE: Вопросы по C/C++ (Для новичков) - 2010-10-24 14:17:23.666666   
MarchZM

Сообщений: 1
Оценки: 0
Присоединился: 2010-10-24 14:04:07.690000
Исправьте пожалуйста, уже долго мучаюсь над этой прогой
Составить функцию, которая определяет, являются ли цифры в записи целого числа соседними в натуральном ряду. Из чисел из интервала от n до N функция выводит только те, цифры которых являются соседними в натуральном ряду.
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; void function (int ,int); bool repeat (void); void main (void) { &nbsp; &nbsp; setlocale (LC_ALL, "Rus"); &nbsp; &nbsp; int n, N; &nbsp; &nbsp; do &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; do &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "\n\nВведите промежуток (натуральные числа (n&lt;N))" &lt;&lt; "\nНачальное значение: "; &nbsp; &nbsp; &nbsp; &nbsp; cin &gt;&gt; n; &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "Конечное значение: "; &nbsp; &nbsp; &nbsp; &nbsp; cin &gt;&gt; N; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (n&lt;1 &amp; N&lt;1) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "\n\nНачальное и конечное значения - натуральные числа!!!"; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (n&lt;1 &amp; N&gt;1) &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "\n\nВы ввели ненатуральное начальное значение, оно будет преобразованно...\n"; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n=12; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (n&gt;N) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "\n\nНачальное значение не может быть больше конечного!!!"; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (n&lt;12) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n=12; &nbsp; &nbsp; &nbsp; &nbsp; } while ((n&lt;1 &amp; N&lt;1) || (n&lt;1 &amp; N&gt;1) || (n&gt;N) || (n&lt;12)); &nbsp; &nbsp; }while (repeat()); &nbsp; } bool repeat (void) { &nbsp; &nbsp; &nbsp; &nbsp; char symbol; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; "\n\nTry again? Yes/No: "; &nbsp; &nbsp; &nbsp; &nbsp; cin &gt;&gt; symbol; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ((char)tolower(symbol)=='y') &nbsp; &nbsp; &nbsp; &nbsp; return 1; &nbsp; &nbsp; &nbsp; &nbsp; else &nbsp; &nbsp; &nbsp; &nbsp; return 0; } #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void function (int n,int N) { &nbsp;&nbsp;&nbsp; int i; &nbsp;&nbsp;&nbsp; for (i=n, n=12; i==N; i++, n++) &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; do &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; i/=10; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (abs((i-i%10)==1)); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (i%10==0); &nbsp;&nbsp;&nbsp; } }
Post #: 1975
RE: Вопросы по C/C++ (Для новичков) - 2010-10-24 14:20:42.453333   
ShyRka

Сообщений: 235
Оценки: 0
Присоединился: 2010-07-09 10:55:56.626666
quote:

ORIGINAL: PiNkY X]

глупая задача( только начинаю учить с++):
Написать прогу, выполняющую частотный анализ  строки, введенной юзером(т.е вычисляющей сколько раз символ входит в строку).
Рапорт по каждому символу выдается 1 раз.

Росбей строку на символы и всех их проверяй на сходство, если есть сходство то тогда в какой счетчик додавай 1 и так для каждого символа!!
Post #: 1976
RE: Вопросы по C/C++ (Для новичков) - 2010-10-28 13:23:11.940000   
UncleBens

Сообщений: 10
Оценки: 0
Присоединился: 2008-12-02 01:33:59.240000
Доброго времени суток.
немогу понять почему не работает внутренний цикл while.


int inCounter = 5;
int outCounter = 5;
while (inCounter > 0 )
{
while (outCounter > 0)
{
cout << "inside ";
outCounter–;
}
cout << "\n outside \n";
inCounter–;
}
внутренний цикл срабатывает только на первой итерации внешнего
Post #: 1977
RE: Вопросы по C/C++ (Для новичков) - 2010-10-28 14:28:26.490000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Пошаговую отладку попробуй - тогда сразу поймёшь, в чём дело. У тебя при втором заходе во внешний цикл переменная outCounter равна нулю - и условие не выполняется => в цикл не заходит.
Post #: 1978
RE: Вопросы по C/C++ (Для новичков) - 2010-10-28 16:18:41.610000   
UncleBens

Сообщений: 10
Оценки: 0
Присоединился: 2008-12-02 01:33:59.240000
спс я очень не внимателен.
Post #: 1979
RE: Вопросы по C/C++ (Для новичков) - 2010-11-03 00:06:37.486666   
disCoverall

Сообщений: 32
Оценки: 0
Присоединился: 2010-10-31 00:43:50.613333
помогите, нужен рабочий код программы решающей квадратные уравнения.спасибо
Post #: 1980
RE: Вопросы по C/C++ (Для новичков) - 2010-11-05 13:53:10.676666   
stu5002

Сообщений: 61
Оценки: 0
Присоединился: 2009-03-26 17:54:30.160000
После компиляции программы (ошибок не выдает) и запуска ее на нетбуке (на нем тобиш и компилировал) пытаюсь запустить ее на другом компе, насколько я помню, без вижуал студии. В ответ она выдает мне окно с предложением закрыть, отладить прогу или найти решение проблемы в интерете. И такое не первый раз, что делать, как решить эту проблему??
Обзывайте меня как угодно, делайте со мной что хотите, готов все стерпеть, если в итоге найду все-таки решение этой проблемы.
Post #: 1981
RE: Вопросы по C/C++ (Для новичков) - 2010-11-13 17:25:16.403333   
Dadie

Сообщений: 3
Оценки: 0
Присоединился: 2010-03-28 15:07:02.513333
Такой вопрос: "А что дальше?" Прочитав несколько книг, изучив синтаксис и приёмы, как следует действовать дальше? Как влиться в эту индустрию правильно? Как набить опыт?

Post #: 1982
RE: Вопросы по C/C++ (Для новичков) - 2010-11-13 17:51:45.316666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
писать программы, само собой. у тебя были другие варианты?
Post #: 1983
RE: Вопросы по C/C++ (Для новичков) - 2010-11-13 20:52:15.476666   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000
Откомпилировал Хелло Мир в Microsoft Visual Studio 2010

http://irdaqq.narod.ru/SH1.jpg - Скрин шот
(Мне нужно чтоб приложение запускалось одним файлом без всяких библиотек и прочих помошников)

Готовый exe файл весит 128 кб и нормально запускается на голой винде. Если оставить настройки по умолчанию то exe файл весит 9 кб но не может запустится на голой винде. Почему такая примитивная программа висить аж 128 кб хотя ничего кроме как вывести текст на экран не умеет???
Post #: 1984
RE: Вопросы по C/C++ (Для новичков) - 2010-11-13 20:55:47.513333   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000
Post #: 1985
RE: Вопросы по C/C++ (Для новичков) - 2010-11-15 19:00:58.103333   
Karl_Marxx

Сообщений: 1
Оценки: 0
Присоединился: 2010-11-15 18:51:34.450000
Pomogite perevesti na C++:


Declare a char variable called friend_gender and initialize its value to 0.
Prompt the user to enter an m if the friend is male and f if the friend is female. Assign the value entered to the variable friend_gender. Then use two if-statements to write the following:

If the friend is male, write "If you see friend_name please ask him to call me."
If the frien is female, write "If you see friend_name please ask her to call me."
Post #: 1986
RE: Вопросы по C/C++ (Для новичков) - 2010-11-16 06:19:15.810000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Google translate v pomosh dla perevoda na c++
Post #: 1987
RE: Вопросы по C/C++ (Для новичков) - 2010-11-16 22:51:23.096666   
Sunzer

Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
http://www.rsdn.ru/article/cpp/XXtraps64bit.xml

quote:

И последнее, 64-битная модель в Linux (LP64) и Windows (LLP64) различается размерностью типа long. Поскольку это их единственное отличие, то для обобщения изложения я буду избегать использования типов long, unsigned long, и буду использовать типы ptrdiff_t, size_t….


Не совсем понял, тип long в 64 битной Linux остался 32 битным? Только что проверил - нет. Что они хотели сказать этим?

Тип long в 32 битной системе 32 битен как под Windows так и под linux, long 64 битен в 64 битной оси Windows, Linux, верно?
Post #: 1988
RE: Вопросы по C/C++ (Для новичков) - 2010-11-16 23:17:47.293333   
DestenyPrO

Сообщений: 271
Оценки: 0
Присоединился: 2010-11-13 23:30:45.656666
Panchenco не понял в чом заключается ваш вопрос. В том что программа весит 128кб или то что она не запускается?
————————-
Только что проверил у себя на своем 2008 Express'e всё работает корректно, вес 8.5кб 8|
Post #: 1989
RE: Вопросы по C/C++ (Для новичков) - 2010-11-16 23:41:35.166666   
DestenyPrO

Сообщений: 271
Оценки: 0
Присоединился: 2010-11-13 23:30:45.656666
quote:

ORIGINAL: Karl_Marxx

Pomogite perevesti na C++:


Declare a char variable called friend_gender and initialize its value to 0.
Prompt the user to enter an m if the friend is male and f if the friend is female. Assign the value entered to the variable friend_gender. Then use two if-statements to write the following:

If the friend is male, write "If you see friend_name please ask him to call me."
If the frien is female, write "If you see friend_name please ask her to call me."


если правильно понял объявляешь  char friend_gender  0
дальше простым cout выводиш предложение ввести m-мужской, f-женский
дальше введенное значение вводишь в friend_gender
патом начинается проверка if/else
если значение m выводим
"Если вы видите friend_имя спросите у него назвать меня"
аналогично с второй проверкой если значение f выводим "Если вы видите friend_имя спросите у нее назвать меня"
if/else использовать не умеем?
сори за кривой дословный перевод, думаю тут даже дурак напишет 8строчек кода 8| , учить нада язык а не просить чтобы кто то написал…

quote:

ORIGINAL: _SaZ_

Google translate v pomosh dla perevoda na c++

да былоб круто, еслиб у гугла была функция перевода русского языка на любой с компилируемых языков, школьникам которым лень учить языки стало б легче :D
Post #: 1990
RE: Вопросы по C/C++ (Для новичков) - 2010-11-17 11:50:33.173333   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000

quote:

ORIGINAL: DestenyPrO

Panchenco не понял в чом заключается ваш вопрос. В том что программа весит 128кб или то что она не запускается?
————————-
Только что проверил у себя на своем 2008 Express'e всё работает корректно, вес 8.5кб 8|

Программа которая компилируется с настройками по умолчанию весит 9 кб и прекрассно работает но если ее перенести на компьютер на котром стоит голая Windows XP без каких либо программ то она не запустится.

А вот если в настройках компиляции выбрать Библиотека времени выполнения-Многопоточная (/MT) (Смотри скрин шот) то после компиляции она весит 128 кб. И запускается на голой винде где нету визуал студии и вообше ничего нету.
Post #: 1991
Проблема в решении задачи [С++] - 2010-11-17 16:45:22.840000   
_asp1k

Сообщений: 1
Оценки: 0
Присоединился: 2010-06-26 21:40:04.383333
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Хнач до Хкон с шагом dx с точностью e.
Точность считать достигнутой, если модуль очередного члена ряда меньшe е.
Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции, значение функции, вычисленное с помощью ряда, количество просуммированных членов ряда. Значения Хнач, Хкон, dx, е вводить с клавиатуры.


#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { double xn; double xk; double dx; double e; double x; double f; double s; double n; double m; double sc1; double sc2; double sc3; double d; double y; xn=0; xk=0; dx=0; e=0; x=0; f=0; s=0; n=1; y=0; sc1=1; sc2=2; sc3=0; d=1; clrscr(); printf("Variant 12\n\n"); printf("xn="); scanf("%lf",&amp;xn); printf("xk="); scanf("%lf",&amp;xk); printf("dx="); scanf("%lf",&amp;dx); printf("e="); scanf("%lf",&amp;e); printf("-----------------------------------------\n"); printf("| x | F | S | n |\n"); printf("-----------------------------------------\n"); for(float i=xn;i&lt;=xk;i=i+dx) { f=asin(i); s=i; while(fabs(d)&gt;e) { //sc1=sc1*(sc1+2); //sc1=sc2*(sc2+2); sc3=sc1/sc2; sc1=sc1*(sc1+2); sc2=sc2*(sc2+2); d=sc3*(pow(i,n)/n); n=n+2; //sc3=sc1/sc2; //sc1=sc1*(sc1+2); //sc2=sc2*(sc2+2); //sc3=sc1/sc2; s=s+d; y++; } printf("| %7.4lf | %7.4lf | %7.4lf | %5.0lf |\n",i,f,s,y); printf("-----------------------------------------\n"); n=1; s=0; d=1; y=0; sc1=1; sc2=2; sc3=0; } getch(); } В чём ошибка?
Post #: 1992
RE: Вопросы по C/C++ (Для новичков) - 2010-11-17 17:21:00.730000   
DestenyPrO

Сообщений: 271
Оценки: 0
Присоединился: 2010-11-13 23:30:45.656666
quote:

ORIGINAL: Panchenco

quote:

ORIGINAL: DestenyPrO

Panchenco не понял в чом заключается ваш вопрос. В том что программа весит 128кб или то что она не запускается?
————————-
Только что проверил у себя на своем 2008 Express'e всё работает корректно, вес 8.5кб&nbsp;8|

Программа которая компилируется с настройками по умолчанию весит 9 кб и прекрассно работает но если ее перенести на компьютер на котром стоит голая Windows XP без каких либо программ то она не запустится.

А вот если в настройках компиляции выбрать Библиотека времени выполнения-Многопоточная (/MT) (Смотри скрин шот) то после компиляции она весит 128 кб. И запускается на голой винде где нету визуал студии и вообше ничего нету.

Хз у меня всё запускается, и вес не такой… что то ты там начудил…
Post #: 1993
RE: Вопросы по C/C++ (Для новичков) - 2010-11-17 18:09:10.340000   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000

quote:

ORIGINAL: DestenyPrO

quote:

ORIGINAL: Panchenco

quote:

ORIGINAL: DestenyPrO

Panchenco не понял в чом заключается ваш вопрос. В том что программа весит 128кб или то что она не запускается?
————————-
Только что проверил у себя на своем 2008 Express'e всё работает корректно, вес 8.5кб 8|

Программа которая компилируется с настройками по умолчанию весит 9 кб и прекрассно работает но если ее перенести на компьютер на котром стоит голая Windows XP без каких либо программ то она не запустится.

А вот если в настройках компиляции выбрать Библиотека времени выполнения-Многопоточная (/MT) (Смотри скрин шот) то после компиляции она весит 128 кб. И запускается на голой винде где нету визуал студии и вообше ничего нету.

Хз у меня всё запускается, и вес не такой… что то ты там начудил…


Перениси на другой комп с голой виндой скомпилированный файл и он не запустится
Post #: 1994
RE: Вопросы по C/C++ (Для новичков) - 2010-11-17 19:48:16.426666   
DestenyPrO

Сообщений: 271
Оценки: 0
Присоединился: 2010-11-13 23:30:45.656666
Panchenco может потому что там не установлен .net framework :D
Post #: 1995
RE: Вопросы по C/C++ (Для новичков) - 2010-11-18 11:11:44.560000   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000

quote:

ORIGINAL: DestenyPrO

Panchenco может потому что там не установлен .net framework :D

Visual C++ поддерживает разработку приложений как на Managed C++ и C++/CLI, так и на обычном C++, и тем самым позволяет генерировать код как для платформы .NET Framework, так и для исполнения в среде «чистой» Windows. В этом отношении Visual C++ является уникальным среди других языковых средств, предоставляемых средой Visual Studio, поскольку ни Visual Basic .NET, ни Visual J# не способны генерировать код для чистого Win32, в отличие от предыдущих версий (Visual Basic и Visual J++ соответственно).
——————————————————————————————————————
http://ru.wikipedia.org/wiki/Visual_C%2B%2B
——————————————————————————————————————
Post #: 1996
RE: Вопросы по C/C++ (Для новичков) - 2010-11-18 19:43:21.006666   
Klofelin

Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666

quote:

ORIGINAL: Panchenco
Почему такая примитивная программа висить аж 128 кб хотя ничего кроме как вывести текст на экран не умеет???

Это так, потому что это так. Когда грузовик едет порожняком, он все-равно жрет много соляры, но никого этот факт особенно не удивляет. В общем случае размер exe-файла - это последнее, на что нужно обращать внимание, особенно на твоей стадии изучения языка. На самом деле "cout", который ты видимо заюзал, не "ничего не делает", а скрытно делает очень даже много чего. Чтобы уменьшить размер екзешника примерно в два раза, можно было для вывода строки использовать сишную функцию printf. Подмножество Си - это полноправная и неотъемлемая часть языка C++.
Post #: 1997
RE: Вопросы по C/C++ (Для новичков) - 2010-11-19 12:51:13.620000   
Panchenco

Сообщений: 14
Оценки: 0
Присоединился: 2010-11-11 20:33:59.900000
Готовый exe файл вот этой прогрммы весит 31.5 кб
—————————————————————————
void main(){}
—————————————————————————
Может есть компилятор который создает exe файлы размером поменьше (у меня Microsoft Visual Studio 2010)
Post #: 1998
RE: Вопросы по C/C++ (Для новичков) - 2010-11-19 21:33:11.950000   
DestenyPrO

Сообщений: 271
Оценки: 0
Присоединился: 2010-11-13 23:30:45.656666
Какая разница?
p.C ты так дребезжишь иза каких то 15кб что я хз, или ты на дискету хош списать, а места не хватает :D8|,
ну а по делу реал можешь попробовать использовать printf, хотя я привык через cout…
Post #: 1999
RE: Вопросы по C/C++ (Для новичков) - 2010-11-20 01:06:41.950000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
http://www.open-std.org/jtc1/sc22/wg21/docs/18015.html

но если ты не понимаешь, что такое рантайм, и из чего складывается размер бинария, то и думать о каких-либо оптимизациях тебе пока рано. почитай о том, как компилируется программа на C++, как они линкуется; поэкспериментируй, посиди с отладчиком, потыкай веточкой таблицу символов и ассемблерный выхлоп. крайне полезной также является реализация своего простенького языка программирования
Post #: 2000
Страниц:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60
Все форумы >> [Компилируемые языки] >> RE: Вопросы по C/C++ (Для новичков)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.