LINUX.ORG.RU

Сообщения lvmuser

 

Подскажите по подключению СЖО в системнике

Приветствую!

Собираю такой системник:

  • материнка MSI AM4 X570S
  • корпус CoolerMaster COSMOS C700P
  • СЖО Aerocool Mirage L240

Самым сложным оказалось подключить материнку, хаб корпуса, помпу и кулеры радиатора друг к другу.

Набросал схему здесь: https://igroprom.d3.ru/okonchanie-sborki-2303824/?sorting=rating

В конечном итоге я подключил все так:

Подключил так:

Помпа

  • Pump Power Connector –> CPU_FAN
  • «Connect to RGB Out M/B or Hub» –> JRAINBOW 5v (к хабу не подключается никак)
  • SATA to power supply –> SATA на БП
  • 5v ARGB Out Connector –> RGB кабель кулера №1 радиатора помпы

Кулеры радиатора помпы

  • RGB кулера №1 подключен к ARGB Out помпы и к RGB кулера №2
  • питание обоих кулеров подключено в PUMP_FAN через Y–образный коннектор

Хаб

  • RGB In хаба подключен к JRGB на материнке
  • SATA подключен к SATA на БП

Осталось все это дело включить в розетку. Переживаю, вдруг что–то воткнул не туда и техника сгорит.

Что вы думаете по поводу вышеописанного?

Уместно ли соединять питание обоих кулеров радиатора через Y–образный коннектор? (Кажется шел в комплекте с СЖО)

Перемещено hobbit из general

 

lvmuser
()

Собираю системник для геймдева, интересует ваше мнение

Привет!

Набросал такой конфиг для системника:

https://www.dns-shop.ru/custompc/configuration/0f493a935d0af032/

Монитор и прочее выберу позже.

Цель - заниматься разработкой игр. Тот же Unreal Engine 4 на моем текущем компе собирается из 2500+ файлов 5.5 часов. Очевидно, нужен хороший многоядерный проц, много оперативки и SSD NVMe чтобы все летало.

А для самих игр - GeForce RTX 3060 (выбор не окончательный).

В общем, сознательно я пока выбрал только процессор. Все остальное выбрано на глаз, надо пересматривать.

Например, винт я хочу взять 1 ТБ SSD, а не 2. Если места не хватит, добавлю HDD.

Пишите свое мнение - что вы бы заменили, на какие хар-ки стоит обратить внимание, что могло бы быть дешевле при том же качестве?

 ,

lvmuser
()

Чем ретранслировать GSM-сигнал внутри квартиры?

Привет!

В одной комнате квартиры отлично работает мобильный интернет на телефоне с Теле2. И не ловит Мегафон.

В другой комнате ловит Мегафон, но не ловит Теле2.

При этом с мобильника Теле2 инет раздается на другие устройства.

Переставить симку в 4g-роутер, который будет раздавать вай-фай - не вариант, т.к. симка используется для звонков.

Иметь 2 симки на один номер и тариф - думаю невозможно в принципе.

Вопрос - чем можно принимать GSM-сигнал у окошка и раздавать его на всю квартиру, чтобы его ловили все телефоны в пределах квартиры?

 , ,

lvmuser
()

Посоветуйте онлайн-курс по Андроиду

Ищу онлайн-курс по Андроиду (можно и платный, но уверен что бесплатных тоже достаточно).

Хочется узнать (с онлайн-задачами, автотестами и тп) о том, как, скажем грамотно создавать сервисы и ресиверы, где использовать броадкасты, как оптимизировать потребление памяти, что такое multidex и т.п.

Например, курс, в котором есть ряд практических задач, после решения которых жизненный цикл Activity знаешь назубок.

Мне нравится формат курсов на stepik.org, где необходимо изучать теорию, затем выполнять задачи и система проверяет правильность решений.

 

lvmuser
()

способы инициализации классов

struct Test
{
    Test(int a, int b)
    : a_(a), b_(b) {}

    int a_;
    int b_;
};

Test ch1 = Test(1, 2);  // #1
Test ch3 = Test({1, 2}); // #2
Test ch4 = Test{1, 2};   // #3

Test ch5(1, 2);  // #4
Test ch6({1, 2});  // #5
Test ch7{1, 2};   // #6

Test ch8 = {1, 2}; // #7

Ребят, просветите, есть ли какая-то разница между инициализацией с разными скобками? Почему это всё работает?

Насколько я понимаю, у 4-5-6 не происходит копирование временного объекта.

(в контексте С++14)

 

lvmuser
()

проект на C++, имитирующий работу арм-процессора

Встретил такое: https://github.com/lucas-streanga/Processor-Project

Вкратце, программа принимает на вход инструкции

00001000000010000000001111111111 # move 16384 into register 0
00001010000000000000000000000000 # print r0
00000000000001000000000000000000 # add r0 and r0 and store in r0 + flags set
00001010000000000000000000000000 # print r0
00001000010010111000000000001000 # loop until carryover occurs
*
!

а выдает такое:

Loading program into memory...

***EXECUTION***

R0: 1023
R0: 2046
R0: 4092
...
R0: 1072693248
R0: 2145386496
R0: 4290772992
R0: 4286578688

End opcode recieved.
Execution ended.
Virtual Cycles used: 427

Я совсем не шарю в теме, но реально ли тут написать такие инструкции, которые выведут в консоль хеловорлд?

 , ,

lvmuser
()

Машинное слово и его размер

Пытаюсь понять, что такое машинное слово.

Это вроде как размер регистра в процессоре. У каждой архитектуры он разный, например x86-64 он 64 бита.

Т.е. если я пишу int a = 123; - эти данные помещаются в регистр, размером 64 бита и не больше. Так?

И больше ничего о машинном слове знать не нужно? Просьба дополнить или поправить. (меня оно интересует в контексте С++)

 , ,

lvmuser
()

Что делает модификатор «const class { ... } »?

Вот код:

const class Test
{
public:
	void x()
	{
		a++;
	}
	int a = 1;
};


void main()
{
	Test obj = Test();
	obj.a = 2;   // можно менять член класса
	obj.x();     // можно вызывать метод, меняющий член класса
	cout << obj.a; // 3
}

Если бы я написал:

const Test obj = Test();

было бы понятно - нельзя вызывать неконстантные методы, нельзя менять данные.

Но что делает модификатор, когда он указан в объявлении класса? «const class Test»

На что это влияет?

 

lvmuser
()

Смещение указателя по массиву интов

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
void *pointer = &a;

for(int i=0; i<10; i++)
	std::cout << *((int *)pointer + i) << std::endl;

Есть такой код, который пробегается по массиву интов через указатель типа void. Код работает.

Вопрос такой - почему достаточно увеличивать pointer на 1, чтобы перейти к следующему элементу?

Старший товарищ предлагал увеличивать на i * sizeof(int) и это выглядит разумным, но не работает.

 

lvmuser
()

Не компилится макрос

В проекте на С++ есть объявление функции:

void EXPORT AnimateUntilDead( void );

Другая (инлайновая) функция вызывает предыдущую:

SetThink(AnimateUntilDead);

В свою очередь SetThink это макрос:

#define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )

Который по идее дает

ThinkSet(static_cast <void (CBaseEntity::*)(void)> AnimateUntilDead, "AnimateUntilDead")

Тем не менее в Студии 2019 получаем ошибку:

Error	C3867	'CSprite::AnimateUntilDead': non-standard syntax; use '&' to create a pointer to member

А в Студии 6.0 это компилится.

Пробовал добавлять & - не помогло:

SetThink(&AnimateUntilDead);
ThinkSet(
static_cast <void (CBaseEntity::*)(void)> (AnimateUntilDead), 
"AnimateUntilDead"
);

и вызывать без макроса, напрямую, тоже.

 

lvmuser
()

Проблема с Hello World на асме

Пытаюсь скомпилить в убунте 64 следующий код:

section	.text
   global _start    ; необходимо для линкера (ld)
	
_start:	            ; сообщает линкеру стартовую точку
   mov	edx,len     ; длина строки 
   mov	ecx,msg     ; строка
   mov	ebx,1       ; дескриптор файла (stdout)
   mov	eax,4       ; номер системного вызова (sys_write)
   int	0x80        ; вызов ядра
	
   mov	eax,1       ; номер системного вызова (sys_exit)
   int	0x80        ; вызов ядра 
 
section	.data
msg db 'Hello, world!', 0xa  ; содержимое строки для вывода
len equ $ - msg              ; длина строки
$ nasm -f elf64 hello.asm 
$ ld -m elf_x86_64 -s -o hello hello.o
$ ./hello
Segmentation fault (core dumped)


Если собрать для elf_i386:
bash: ./hello: cannot execute binary file: Exec format error

Я что-то делаю не так? Или код кривой? Взял его отсюда https://ravesli.com/assembler-bazovyj-sintaksis/

 ,

lvmuser
()

проблема с lvreduce

Привет!

Не получается уменьшить размер криптованного раздела

Изначально есть это: /dev/nvm0n1p4 (p1..p4)

Делаю: cryptsetup luksOpen /dev/nvm0n1p4 main

Появляется: /dev/mapper/main

Потом уменьшаю main: resize2fs /dev/mapper/main 43G

А вот дальше проблема.

lvreduce -L 43G /dev/mapper/main

Пишет что это некорректный путь к logical volume

Если указать «/dev/nvm0n1p4» - то же самое.

lvresize пишет то же.

Делаю все из Live Ubuntu. Что тут не так?

 , ,

lvmuser
()

RSS подписка на новые темы