@ProCxx

Страница 90 из 2477
Andrei
16.04.2016
23:50:30
dlopen скорее всего даже не поймет где у виндовой либы искать таблицу с экпортом

Ты ведь после dlopen еще делаешь что-то вроде givefunctionptrbyname

get*

Сергей
16.04.2016
23:51:48
А можно ручками загрузить файл бибилиотеки в память процесса, поискать экспортируемые функции, присвоить своим переменным с типом этих функций и юзать

Google
Сергей
16.04.2016
23:51:56
Ну, в винде так можно

В линуксе тоже наверн

Сергей
16.04.2016
23:52:28
Ну это да

Ned Ogl
16.04.2016
23:52:37
спасибо мужики, вы офигенны

Andrei
16.04.2016
23:53:05
Обращайся.

Ned Ogl
16.04.2016
23:53:11
а где лежат исходники к самым ходовым либам?

или только качать в сети?

ядро хранит где-то свои исходники вроде, нет?

Stanislav
16.04.2016
23:53:33
Ned Ogl
16.04.2016
23:53:51
он не поймет на уровне формата файла)
да, там же стоит метка другая, или как это называется

Stanislav
16.04.2016
23:54:01
Andrei
16.04.2016
23:54:03
Меджик

Google
Ned Ogl
16.04.2016
23:54:10
Stanislav
16.04.2016
23:54:15
эм

там не меджик, там все разное

Сергей
16.04.2016
23:54:37
PE/ELF

Andrei
16.04.2016
23:54:39
Понятно что разное. Просто обычно в бинарных файлах сперва пишут меджик

В винде во всех популярных форматах практически.

Ну да.

он не поймет на уровне формата файла)
Я не знаю, может ваши эти линуксы настолько продвинутые :D

Что могут и виндовый попытаться открыт

Кажется wine что-то такое и делает

Stanislav
16.04.2016
23:57:22
ну только через вайн или моно) если PE файл - дотнетовский

Ned Ogl
16.04.2016
23:58:01
вот еще вопрос

простой пример - файл wireless.h

в первых строках #ifdef __KERNEL__

как это понять? кто дефайнит кернел, если никто не подключён выше и ниже, если сам он предназначен для инклуда? если компиль или препроцессор, то где почитать о дефайнах компиля и препроцессора?

Andrei
16.04.2016
23:59:39
Кто-то может писать код в ядро.

Stanislav
16.04.2016
23:59:50
дефайный может передавать в параметрах компиля

-DKERNEL

-D__KERNEL__

Andrei
17.04.2016
00:00:11
И если его код будет цеплять этот файл, то его код и будет до инклюда дефайнить кернел. Либо через флаг компилятору

Google
Ned Ogl
17.04.2016
00:00:53
Это супергруппа, тут можно редактировать свои сообщения

Отлично.

Тогда вторая часть вопроса

очевидно, что __cplusplus дефаайнит сам g++

Andrei
17.04.2016
00:02:33
Смотри, заголовочные файлы просто вставляются тупо как текст в нужное место поэтому можно написать прям в файле #define __KERNEL__\r\n#include "wireless.h"

И в этот файл подставить вайрлесс с разворачиванием ифов кернела.

Он еще много чего интересного дефайнит кстати.

Ned Ogl
17.04.2016
00:04:14
ну так вот где прочитать, что именно он дефайнит и при каких условиях? может кто знает

Andrei
17.04.2016
00:05:29
http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

И там две соседние главы.

Про макросы системы и макросы стандарта.

Ned Ogl
17.04.2016
00:07:16
ага, спасибо

зачем делают #define NAME 1

зачем единичка?



Andrei
17.04.2016
00:08:40
Вроде опять же для backward compatibility. Хотя наверное смысле нет. Но это как с __сplusplus.

Там лежит обычно версия языка

Ned Ogl
17.04.2016
00:09:16
хотя мб для того, чтобы если вдруг имя было использовано где-то, выскочила ошибка

вроде "откуда взялась тут эта единичка"?

Google
Andrei
17.04.2016
00:09:35
Да кстати, тоже вариант.

Ned Ogl
17.04.2016
00:10:14
где-то полгода назад, когда я пытался читать код библиотек С, на меня это наводило страх и ужас

мол, кто это все писал и зачем так страшно

кстати, встретил #if defined(NAME) ...

defined() - это макрос или реальная чья-то функция?

Andrei
17.04.2016
00:11:41
Часть языка

НЕ чья-то функция.

Ned Ogl
17.04.2016
00:13:25
Может прозвучать глупо, но будучи ещё новичком в системном программировании, замечу, что чертовски приятно читать ядро линукс и понимать, что там написано

прогаю под blackfin-bf533-ezkit и для него в ядре есть свои отдельные .c файлы

Admin
ERROR: S client not available

Ned Ogl
17.04.2016
00:14:10
круто читать и понимать, что будет делать твоя железка

Andrei
17.04.2016
00:16:08
Норм. В хороших вузах об этом просто курсы читают.

Ned Ogl
17.04.2016
00:17:26
ну не сказать, что я из плохого вуза)

Andrei
17.04.2016
00:17:44
Майкрософт тоже скоро ядро раскроет по большей части.

Эппловцы тоже раскрывают часть.

Ned Ogl
17.04.2016
00:18:07
МГУ, мехмат

на ВМК у нас мб и читают

Andrei
17.04.2016
00:18:14
Норм.

Ned Ogl
17.04.2016
00:18:21
но я от этого далёк, яжматематик

Google
Ned Ogl
17.04.2016
00:18:31
С и С++ только чтобы считать всякую ебанинку

Andrei
17.04.2016
00:18:37
Чем занимаешься, математик?

Какой курс?

Ned Ogl
17.04.2016
00:18:47


Andrei
17.04.2016
00:19:26
А занимаешься чем?

Или вернее чем хочешь?

Ned Ogl
17.04.2016
00:21:10
занимаюсь тем, что пошёл на новую кафедру Теоретической Информатики под научное руководство чувака из Электронтеха. Нам платят бабки, мы работаем на Электронтех, одновременно это является темой курсача. Вот и вся история. Я занимаюсь прошивкой платы на BF533. Сначала закачиваю линх, потом буду под неё прогать

Потом прогать прошивку для bf609

итд

Andrei
17.04.2016
00:21:36
Понятно. Странное это имеет отношение к математике.

Ned Ogl
17.04.2016
00:21:42
потому и узнавал про статическую линковку, либы, и как оно все работает

Понятно. Странное это имеет отношение к математике.
казалось бы. но blackfin - это линейка сигнальных процессоров и наша задача - обработать проходящий через железку видео-аудио-РЛС сигнал средствами железки, не проебав памяти, пакетов, времени и не повиснув.

Andrei
17.04.2016
00:22:05
Да и к "теоретической" информатике тоже.

Ned Ogl
17.04.2016
00:22:51
тут и нужна математика

фурье, хурье и прочая хрень

"будем паять нейросети?" спрашивают второкуры на встрече с кафедрой

"будете" горестно вздыхая, обещаю я

Andrei
17.04.2016
00:23:34
Лол.

Зачем их паять когда есть fpga :3

Я вот кстати по работе ровно этим вскоре буду занят.

Ned Ogl
17.04.2016
00:24:13

Страница 90 из 2477