Имеется код вида
int64_t a = b/c
b и c какие-то произвольные числа
требуется записать 0 в переменную a, если произошел SIGFPE.
Проверять значения b и c не вариант, нужно как-то задавать значение для a в обработчике сигнала.
я на винде только лог qemu могу просматривать
Что делать, если появляется непонятная ошибка после запуска c++ кода?
это исходный код.
thread my_thread1(&connecter); if(connfd == true)
int connfd
с bool true
, а вторая -- ты делаешь это main
и connecter
. Когда ты эту гонку исправишь, жизнь твоя, скорее всего, наладится. Непонятно, правда, зачем ты вызываешь accept
в параллельном потоке вместо того, чтобы сделать это синхронно, прямо в main
. при использовании Valgrind выпадает ошибка:
Опытным путём пришёл к выводу что проблемма связана с ошибкой в самом make.
==6410== Valgrind: "/media/mid/Main_file_m2/Road/rank 0/libftTester/a.out"
По какой причине не видятся методы .x .y
sqrt(x<T>()^2 + y<T>()^2);
var_type name (var_type value = 0) { \
<T>
. А когда ты так сделаешь, x
и y
станут независимыми именами, и чтобы компилятор их нашёл в родительском классе надо будет либо добавить перед ними this->
, либо как-нибудь ещё ему подсказать.template<typename T>
float DVector(2)<T>::length()
{
return sqrt(this->x()^2 + this->y()^2);
}
^2
-- это (без дополнительных усилий) не возведение в квадрат. Я гуглил, но понятного объяснения не нашел.
Из 2 гигов оперативки занято 500 мб, причём раньше свободно было больше.
Из-за чего systemd-journald может есть 10% от оперативки? Куда смотреть?
файл "Название какого-то файла.mkv" $WhatFile возвращает в виде "Название" , отрезая всё, что есть после первого пробела
for WhatFile in $(...)
лучше использовать конструкцию find ... -print0 | xargs -0 ...
. Т.е.find $Downloads -regex ".*\.\(mkv\|m4v\|mp4\|ts\|avi\)" -and -mmin +30 -print0 | sort -zr | xargs -0 -I\{} bash -c '
WhatFile=\{}
// извлекаем название найденного файла
WhatFileName=$(basename "$WhatFile" )
echo "$WhatFileName"
// извлекаем папку найденного файла
WhatFolder=$(dirname "$WhatFile" )
echo "$WhatFolder"
// извлекаем папку найденного файла
#echo WhatFolder $WhatFolder
#переименование
#файла
if [ -n "$WhatFileName" ]; then
WhatRenameFile=$( echo "$WhatFileName" |
sed -f "$Renamer" )
if [ "$WhatFileName" != "$WhatRenameFile" ]; then
echo "переименовываем файл из "$WhatFileName" в "$WhatRenameFile""
mv -fv "$WhatFile" "$WhatFolder"/"$WhatRenameFile"
echo "пауза 2 секунды"
sleep 2s
else
echo "Файл соответствует правилам "$WhatFileName""
fi
#echo $WhatRenameFile
fi
'
Я пишу новую операционную систему и столкнулся с непредвиденным поведением ядра
проблема в файле kernel\kernel.asm
0x00008122: bb 00 81 movw $0x8100, %bx
0x00008125: 50 pushw %ax
0x00008126: b8 00 00 movw $0, %ax
0x00008129: 8e c0 movw %ax, %es
0x0000812b: 58 popw %ax
0x0000812c: cd 13 int $0x13
0x0000812e: 00 00 addb %al, (%bx, %si)
0x00008130: 00 00 addb %al, (%bx, %si)
0x00008132: 00 00 addb %al, (%bx, %si)
0x00008134: 00 00 addb %al, (%bx, %si)
0x00008136: 00 00 addb %al, (%bx, %si)
0x00008138: 00 00 addb %al, (%bx, %si)
0x0000813a: 00 00 addb %al, (%bx, %si)
0x0000813c: 00 00 addb %al, (%bx, %si)
0x0000813e: 00 00 addb %al, (%bx, %si)
0x00008140: 00 00 addb %al, (%bx, %si)
0x00008142: 00 00 addb %al, (%bx, %si)
0x00008144: 00 00 addb %al, (%bx, %si)
qemu-system-i386 -hda collector.bin -d in_asm,exec,cpu -D log
Как из файла ассемблера (NASM) запустить exe-шник?
Не отдельно, а как-будто ассемблерский файл это и есть ос?
Не понимаю, откуда эта ошибка появляется
template <typename T>
void create_huge_matrix(std::vector<std::vector<T>>& matrix, T lowerLimit);
std::vector<std::vector<double>>
, а второй -- int
:create_huge_matrix(matrix_s, 5);
create_huge_matrix(matrix_p);
перегрузка оператора должна скалярно умножать два массива. Под этим подразумевается, например: массив1 - 3,2; массив2 - 5,1, скалярное умножение: 3*5 + 2*1 = 17
LabArray operator* (const LabArray& other) { double sum = 0; for (int i = 0; i < size; ++i) { sum += Array[i] * other.Array[i]; } return sum; }
isdigit
int count_students;
cin >> count_students;
cin >> count_students;
if (cin.fail()) {
cout << "Неправильные входные данные. Попробуйте еще раз.";
cin.clear();
cin.ignore();
goto Step1;
}