Совместно ли процессы используют разделы обычных динамически загружаемых библиотек, доступные только для чтения?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Совместно ли процессы используют разделы обычных динамически загружаемых библиотек, доступные только для чтения?

Сообщение Anonymous »

Я хотел бы проверить, как работает потребление памяти, когда у меня есть два разных исполняемых файла, которые зависят от одной и той же динамически загружаемой библиотеки, и библиотека имеет как «состояние» (т. Е. Что-то, что должно быть конкретным для каждого процесса), так и константные данные ( то есть что-то, чем можно было бы поделиться).
Я разработал следующий очень простой эксперимент:
main.cpp:

Код: Выделить всё

#include 
#include 
#include 
#include "mylib.h"

int main()
{
MyLib lib;

while (true)
{
lib.printString();
std::this_thread::sleep_for(std::chrono::seconds(5));
}

return 0;
}

lib.h:

Код: Выделить всё

#ifndef MYLIB_H
#define MYLIB_H

class MyLib
{
public:
void printString();

private:
int counter = 0;
};

#endif // MYLIB_H
lib.cpp:

Код: Выделить всё

#include "mylib.h"
#include 

// Define the large string in the implementation file
constexpr const char *largeString =
"This is a very large string that will be used to fill up the .text section "
"of the shared library. It needs to be big enough to be noticeable........................................................ ";

void MyLib::printString()
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78739359/do-processes-share-the-read-only-sections-of-common-dynamically-loaded-libraries[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»