Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 13 14 15 16 17 18 19 20 21 [22]
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3356
Док
От llvm пилится новый отладчик LLDB, и то, только под МАКи

Бранч с llvm тоже уже пилится. Приколько будет, если допилят раньше чем к дельфийскому бэкенду оптимизацию сделают.
13 мар 19, 16:43    [21831527]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3356
Kazantsev Alexey
Бранч с llvm тоже уже пилится

Вот, если интересно.
13 мар 19, 17:00    [21831538]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10598
Kazantsev Alexey
Arioch
или всё дело в LLVM/ARC ?

Ты в курсе, что речь о FPC?


Забыл. Тогда странно.

Видимо либо в FPC либо в Linux синхронизация межпоточная сделана мeдленнеe, чем в Delphi/Win32
13 мар 19, 18:02    [21831635]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 25056
Лазарь из последних транковых, дебаг.

Код:
+
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
    Classes, SysUtils, Forms, Controls, Graphics, Dialogs, wcthread;

type

    { TForm1 }

    TForm1 = class(TForm)
        Task1: TTask;
        WCThread1: TWCThread;
        procedure FormCreate(Sender: TObject);
        procedure Task1Execute(const Sender: TTask; const Msg: Word; var Param: Variant);
        procedure TaskMemExecute(const Sender: TTask; const Msg: Word; var Param: Variant);
    private

    public

    end;

var
    Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
    Task1.Start;
end;

procedure TForm1.Task1Execute(const Sender: TTask; const Msg: Word; var Param: Variant);
var i: integer;
    threads: array [0..199] of TWCThread;
    thread: TWCThread;
    task: TTask;
begin
    for i := Low(threads) to High(threads) do begin
        thread := TWCThread.Create(Sender.Parent);
        task := TTask.Create(thread);
        task.OnExecute := @TaskMemExecute;
        task.Start;
        threads[i] := thread;
    end;
end;

procedure TForm1.TaskMemExecute(const Sender: TTask; const Msg: Word; var Param: Variant);
var p: Pointer;
begin
    while not Sender.Terminated do begin
        p := GetMemory(1024*10);
        Sender.WaitMs(10);
        Freemem(p);
        Sender.WaitMs(10);
    end;
end;

end.

Результат:

К сообщению приложен файл. Размер - 12Kb
14 мар 19, 11:54    [21832283]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 768
Оперативно они!
:)
14 мар 19, 13:01    [21832414]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 13 14 15 16 17 18 19 20 21 [22]
Все форумы / Delphi Ответить