00000234: xori r16,r16,32768 00000238: addi r16,r16,-32768
Подскажите пожалуйста смысл таких преобразований?
short right = acum & 65535;
. Оно нужно для того, чтобы работать с загруженными в регистры значениями не задумываясь об исходной ширине их типа данных. Т.е. (short)-1
в 64-битном регистре будет представлен как 0xffffffffffffffff, а не как 0xffff. Зачем нужны header guards если в заголовочных файлах мы пишем только объявление функции?
--with-pcre=/usr/lib64/
…
cd /usr/lib64/ \ && if [ -f Makefile ]; then make distclean; fi \ && CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe " \ ./configure --disable-shared
--with-pcre
ожидается путь к исходникам PCRE, а не к установленным либам. И судя по этому, так оно и есть. static struct file_operations process_sched_add_module_fops = { … proc_create(PROC_CONFIG_FILE_NAME,0777,NULL,&process_sched_add_module_fops);
proc_ops
, а не на file_operations
. Компилятор должен был бы что-нибудь сказать в этом месте, ты не читаешь его предупреждения?static ssize_t process_sched_add_module_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
__user
у параметра buf
. Этот буфер приходит из юзерспейса, по этой причине ты не можешь лезть в него напрямую функцией kstrtol
. books[nst] = book;
В чём может быть ошибка
books
не выделено место для nst
объектов.раннее были записаны данные в виде двух строчек string и двух чисел int (структуры, в общем)
std::string
, а значит вся затея с fread
обречена на провал. -L путь должен быть полным путем в моей хост машине где производится кросс компиляция или путь относительно пути указанного в параметре sysroot?
=
либо строки $SYSROOT
($SYSROOT не должен быть интерпретирован оболочкой и должен попасть в таком виде в аргументы компилятора), он интерпретируется относительно sysroot.start:
....
mov sp, start + 512 + 1024
org 0x7c00
start:
mov ax, 0
mov ss, ax
mov sp, start + 512 + 1024
mov ax, 0x060 ;(1024+512)/16=96=60h адрес стека после загрузчика в сегментах mov ss, ax ;установка адреса сегмента стека mov sp, 1024 ;установка указателя стека
add ax, 0x060 ;адрес стека после загрузчика в сегментах 0x07C0+0x060
Сгенерировал приватный и публичный ключ на сервере, публичный скопировал на клиентскую машину в файл 'authorized_keys' но аутентификация как и обычно проходит по паролю.
Ок. Возник конфликт. Но почему?
1. Это я неправильно понимаю как должна работать эта команда или здесь что-то пошло не так?
3. Если cherry-pick работает также как merge, то может лучше тогда делать для копирования squash?
Я открыл файл base.txt, прочитал, получил значение (строку) и присвоил строку к ss
URLDownloadToFile(0, "url/base.txt", "base.txt", 0, 0); std::remove("base.txt"); // Удаляю старый файл, если он имеется std::ifstream f("base.txt");
int* my_slightly_dumb_reallocation(int* source, unsigned int n_old, unsigned int n_new) { if (source == NULL) { int* array = new int[n_new]; } ... return array; }
компилятор ругается,
array
у тебя определена в блоке, а return array
стоит вне этого блока. Ты либо return в блок занеси, либо int *array = new int[n_new];
из блока вынеси на один уровень с return array
. void matrixsort(unsigned int *arr) { int temp; for (int i = 0; i < M - 1; i++) {
for (int i = 0; i < N - 1; i++)
потому что это сортировка, а не обход матрицы.
while (line < N) { for (int j = line; j < line + 1; j++) {
for (int j = 0; j < M; j++) {
arr0[M] = line;
На ассемблере в программе есть раздел .text, .bss, .data
при компиляции в машинный код там тоже так на сегменты разбит
для выполнения процессором