Скажите, машинный код команды будет один и тот же, или различный?
mov x86
в гугле: https://c9x.me/x86/html/file_module_x86_id_176.html в скрипте линкера есть такая строка . = 0x100000;. Знаю, что grub загружает по этому адресу ядро
…
нужно чтобы grub по прежнему загружал ядро по адрсесу 0x100000. А адресация внутри ядра происходила по виртуальному адресу, допустим 0x60000000
.incbin
. Так делает ядро linux. Отсюда можно проследить как это делается.sed -e '/\n\/\s/g'
Но почему ентер не меняется на пробел.
g
в конце имелось в виду 's/\n/ /g'
?\n
и следующую строку к уже прочитанной: speedtest --simple | sed '1d;N;s/\n/ /g'
/Fl
, а деталями листинга можно управлять ключами /S*
, см.проблема в том что надо не через линк а через link16 тогда работает,
Смысл функции - возвращать результат обработки аргументов, а здесь просто запускается программа в машинных кодах по заданному адресу.
poke 30000, 1
poke 30001, 99
poke 30002, 0
poke 30003, 201
print usr 30000
> 99
зачем с помощью инклуда в Makefile_a указывать путь к Makefile_aa, и во втором указывать тоже путь к файлам как будто это делаеться из Makefile_a?
Что будет?
obj->execute()
, т.е. виртуальный вызов конечного переопределения для функции obj1::execute
в объекте класса obj3. См. eelis.net/c++draft/expr.call#3Я не понимаю как это будет работать с классами наследниками и виртуальной функцией.
Почему в 93 строке (bptr = (schoolboy*)&a1;) пишет progress=<Ошибка при чтении символов строки>
cout << *bptr;
, а происходит это потому что bptr указывает на объект, конечный тип которого -- class student
. У такого объекта в его представлении в памяти нет никакого поля progress
, поэтому код который пытается его вывести ведёт себя таким образом. Вообще это пример неопределённого поведения.как это исправить?
Возможно ли это?
Написал простую программу, которая висит, ожидая нажатие клавиши, но она не висит, а вылетает
format PE console … push str1 call [printf] mov ah, 7 int 21h
C++
Нужно в двумерный массив char записать эти строки
std::string
, массив -- это std::vector
, используй std::getline
и например std::vector::push_back
.for (size_t i = iters.size(); i < listsize; i++) { iters.push_back(new iterator(typesize)); }
for (size_t i = iters.size(); i > listsize; i--) {
delete *iters.back();
iters.pop_back();
}
iterator::~iterator() { for (stream::stream* s : usedbystreams) { s->killstream(0); } free(pointer); usedbystreams.clear(); }
s->killstream(0)
, привело ли это к удалению объекта на который указывает s?-fsanitize=address
который покажет тебе при завершении программы, где была выделена утекшая память.