1. Есть ли поддержка отображения файла на память 2. Можно ли динамически (во время работы программы) создавать код и выполнять его из программы на C++ (Что-то типа eval).
----------------------------------
USAGE
The mmap() function allows access to resources using address
space manipulations instead of the read/write interface.
Once a file is mapped, all a process has to do to access it
is use the data at the address to which the object was
mapped.
Consider the following pseudo-code:
fildes = open(...)
lseek(fildes, offset, whence)
read(fildes, buf, len)
/* use data in buf */
The following is a rewrite using mmap():
fildes = open(...)
address = mmap((caddr_t) 0, len, (PROT_READ | PROT_WRITE),
MAP_PRIVATE, fildes, offset)
/* use data at address */
The mmap() function has an explicit 64-bit equivalent. See
interface64(5).
SEE ALSO
close(2), exec(2), fcntl(2), fork(2), getrlimit(2), mpro-
tect(2), munmap(2), shmat(2), lockf(3C), mlockall(3C),
msync(3C), plock(3C), sysconf(3C), interface64(5)
----------------------------------
2. ты про перл - забудь;) на си можно делать вещи поинтереснее;)
а код создавать и выполнять можно, только это все _полностью_ ручками делать нужно: формироавать автокод (бинарный исполняемый код) передавать на него выполнение, возвращать из него результат и т.п.
примеры:
- удаленный взлом rlogin с получением root'овых полномочий,
- полиморфные (самомодифицирующиеся) вирусы и т.п.
Автокод - это не бинарный двоичный код. Автокодами назывались ассемблероподобные (и не только) языки (и компиляторы) на старых отечесвенных ЭВМ. Потом это название отмерло во время массового перехода на ЕС ЭВМ.
2Anti...: Перечитай заголовок. Написано "Вопросы по С++". Есть что ответить НА ЭТИ вопросы?
Какая на фиг разница, ++, не ++. Когда возникают такие потребности, всегда из C/C++/чего-попало-ещё пользуют ембедабельный язык. При чём, ембедабельным языком может быть даже C++, см. на CINT: http://root.cern.ch/root/Cint.html
2Antichrist:
1. спасибо за ссылочку на CINT (C/C++ interpreter). Занятная штучка;)
2. в среде сишников не больше извращенцев, чем в любой другой среде, так что не корректно на них наезжать таким образом;)
2kraw: по-моему то ты не совсем прав, у слова "автокод" существует много значений, и, на мой взгляд, одно из них - это как раз "двоичный исполняемый код". хотя, на самом деле, не суть важно, что как называть, лишь бы было понятно всем сторонам.