Мне надо извлечь из ядра symvers чтоб собрать модуль.
Русским и английским языком написано. Сегментные регистры в x64 кроме GS и FS не используются и принудительно устанавливаются в 0.
In 64-bit mode, segmentation is generally (but not completely) disabled, creating a flat 64-bit linear-address space. The processor treats the segment base of CS, DS, ES, SS as zero, creating a linear address that is equal to the effective address. The exceptions are the FS and GS segments, whose segment registers (which hold the segment base) can be used as additional base registers in some linear address calculations.
invoke accept,[socket_server],addr_client,sizeof.sockaddr_in
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make O=out riva_defconfig
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make O=out -j8 all
diff --git a/scripts/gcc-wrapper.py b/scripts/gcc-wrapper.py
index 93a6cf4e287e..55652d391844 100755
--- a/scripts/gcc-wrapper.py
+++ b/scripts/gcc-wrapper.py
@@ -83,8 +83,7 @@ def run_gcc():
try:
proc = subprocess.Popen(args, stderr=subprocess.PIPE)
for line in proc.stderr:
- print >> sys.stderr, line,
- interpret_warning(line)
+ print >> sys.stderr, line
result = proc.wait()
except OSError as e:
mov [esi + 000001cc], ecx
Объясните пожалуйста что из этого всего на скриншотах база, смещение я так понимаю (01CC) но смещение относительно чего?
printMAS (&MAS);//будет ошибкой! Почему?
&MAS
-- int (*)[5]
. Значение же адреса будет одним и тем же.Вот такие инструкции же работают...
...
и интерпретируется внутри как void *
, т.е. тип исходного адреса больше не имеет значения. Нужно ли вообще очищать память в старом указателе?
void massiv::sum(massiv obj1, massiv obj2)
void massiv::multiply(massiv obj1, massiv obj2)
void massiv::sum(const massiv& obj1, const massiv& obj2)
void massiv::multiply(const massiv& obj1, const massiv& obj2)
У меня есть мои координаты и координаты здания. Нужно чтобы я шел по улице и в активити рисовалась стрелка в направлении к этому зданию.
Как не сложно заметить при большой точности, мой результат отличается от результата библиотечного printf.
0,0000000000000012300000000000000679
-- это всё что имеет смысл печатать, и эта часть одинакова в выводе printf и ft_printf. Всё что идёт дальше -- это мусор, который не содержится в исходном числе.long double tt = 0.00000000000000123;
long double a = 1.4142135623730950488; double b = 1.4142135623730950488;
почему переменная типа long double хранит данные с такой же точностью, как и переменная типа double?
long double a = 1.4142135623730950488L;
The type of a floating literal is double unless explicitly specified by a suffix.
Запись в переменную литерала
int a = 1;
1 -- это литерал. Ввод из потока к литералам отношения не имеет.почему если попытаться записать в переименую типа int символ, то не выдается ошибки
#include <iostream>
int main()
{
int a;
std::cin >> a;
std::cout << "a = " << a << ", cin.fail() = " << std::cin.fail() << std::endl;
}
Почему grep regex не работает без экранирования?
3.6 Basic vs Extended Regular Expressions
=========================================
In basic regular expressions the meta-characters ‘?’, ‘+’, ‘{’, ‘|’,
‘(’, and ‘)’ lose their special meaning; instead use the backslashed
versions ‘\?’, ‘\+’, ‘\{’, ‘\|’, ‘\(’, and ‘\)’.
grep -E
или egrep
чтобы получить extended синтаксис по умолчанию. Где можно почитать почему так происходит, почему такие разные вариации записи одно числа в шестнадцатеричной системе исчисления?
A double argument representing a floating-point number is converted in the
style [−]0xh.hhhh p±d, where there is one hexadecimal digit (which is
nonzero if the argument is a normalized floating-point number and is
otherwise unspecified) before the decimal-point character...