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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компилирование строки 
:(
    Опции темы
Nowise
Дата 5.6.2008, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Реальна в C++ ситуация, когда программа преобразует в машинный код свою char-переменную и сохраняет как ехе файл, при условии что исходная программа содержит в себе компилятор C++.?
PM MAIL   Вверх
mrbrooks
Дата 5.6.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Цитата(Nowise @ 5.6.2008,  20:49)
Реальна в C++ ситуация, когда программа преобразует в машинный код свою char-переменную и сохраняет как ехе файл, при условии что исходная программа содержит в себе компилятор C++.?

Хм. Даже не знаю что и ответить то без мата  smile 
PM MAIL   Вверх
Sartorius
Дата 5.6.2008, 21:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

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



Реальна smile 
PM MAIL ICQ   Вверх
LostSoul
Дата 5.6.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Nowise @ 5.6.2008,  20:49)
Реальна в C++ ситуация, когда программа преобразует в машинный код свою char-переменную и сохраняет как ехе файл, при условии что исходная программа содержит в себе компилятор C++.?

Так это и есть компилятор, или я чего-то не понял.

Это сообщение отредактировал(а) LostSoul - 5.6.2008, 22:54
PM MAIL   Вверх
Palladin
Дата 5.6.2008, 23:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

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



Ну вроде как да, ацкай вопрос какойто


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
JackYF
Дата 5.6.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Цитата(Nowise @  5.6.2008,  19:49 Найти цитируемый пост)
преобразует в машинный код свою char-переменную и сохраняет как ехе файл

Программа из одного байта малополезна. Расшифруй этот поток сознания.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Nowise
Дата 6.6.2008, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я имел ввиду массив, тоесть 
Цитата

Компилирование строки


Но если для вас эо сложно, тупо или еще чегонибудь я не настаиваю на ответе конечно. Реакция, правда,  меня смутила.
PM MAIL   Вверх
Nowise
Дата 6.6.2008, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я насколько понимаю, раздел "вопросы новичков.." создан для вопросов и ответов на них, если тема людей оскорбила они не пишут в ней, или жалуются модератору, потомучто мне не интересно с помощью мата или без вы хотели-бы в ней ответить.   Покрайней мере я привык к такой системе.
PM MAIL   Вверх
JackYF
Дата 6.6.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Цитата(Nowise @  6.6.2008,  12:30 Найти цитируемый пост)
Компилирование строки

Лично я до сих пор просто не понимаю, чего ты хочешь. Видишь ли, с технической точки зрения твой вопрос лишён всякого смысла, поэтому попробуй сформулировать его по-другому или привести пример.


 ! 
JackYF
Всем остальным: откровенный оффтоп и наезды прекращаем.




--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Palladin
Дата 6.6.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

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



Да вроде ненаезжал никто даже smile 
По теме, всеравно ниче не понятно и вопрос остается "аццким"
Вот вы написали:
Цитата(Nowise @  6.6.2008,  13:30 Найти цитируемый пост)
Я имел ввиду массив, тоесть 

Значит теперь тема называет не "Компилирование строки", а "Массив"
вопрос при это не меняется:
Цитата(Nowise @  5.6.2008,  20:49 Найти цитируемый пост)
Реальна в C++ ситуация, когда программа преобразует в машинный код свою char-переменную и сохраняет как ехе файл, при условии что исходная программа содержит в себе компилятор C++.? 

А значит ответ тоже... smile 



--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
bsa
Дата 6.6.2008, 16:08 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Nowise
Я, конечно, тебя не очень понял. Но попробую ответить:
Если у тебя есть программа, в строковой переменной которой находится исходный текст другой программы, а так же имеются функции для компиляции (т.е. компилятор), то никто не мешает тебе откомпилировать этот самый исходный текст.
Так как любой компилятор сначала читает файл с исходным текстом в некий буфер, представленный в виде локальной переменной, а только затем уже преобразует в машинный код (это сокращенно, на самом деле там много этапов).

Это сообщение отредактировал(а) bsa - 6.6.2008, 16:09
PM   Вверх
andrew_121
Дата 6.6.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



А в чем собсно вопрос?  smile  smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 6.6.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Код

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

#define NAME "program"

int main() {
    char * buffer = "#include <stdio.h>\nint main() { puts(\"Hello, World!\"); return 0; }\n";
    FILE * fs = popen("gcc -x c -o"NAME" -", "w"); // 1
    fwrite(buffer, strlen(buffer), sizeof(char), fs); // 2
    pclose(fs); // 3
    system("./"NAME);
    return 0;
}


строки 1, 2, 3 заменяются на "вызов компилятора" который должен находится в
Цитата(Nowise @  5.6.2008,  20:49 Найти цитируемый пост)
исходная программа 



Это сообщение отредактировал(а) MAKCim - 6.6.2008, 20:23


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Nowise
Дата 7.6.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Значит теперь тема называет не "Компилирование строки", а "Массив"
вопрос при это не меняется:

У меня такой редкий С++ в котором строка это массив букв.

Makcim, спс, попытаюсь разобраться.


`system' undeclared (first use this function) 
 (Each undeclared identifier is reported only once for each function it appears in.) 

И какаято ошибка в строке
... 
system("./"NAME);
...

Это сообщение отредактировал(а) Nowise - 7.6.2008, 15:24
PM MAIL   Вверх
bronislav
Дата 7.6.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



какая ОС и какой компилятор используешь?


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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