Заставить ТурбоБЛ в составе 1С++ заново прочитать методы

Автор АЛьФ, 11 апреля 2024, 19:01

« назад - далее »

Злоп

Цитата: АЛьФ от 12 апреля 2024, 12:56Я же о том, что штатный компилятор игнорирует строки с # в начале модуля.
тоже не знал...
капец, как говорится "век живи, век учись, всё равно дураком помрешь"

Злоп

одно время турбоБЛ отдельно был, может там что полезного накопать можно
https://openconf.1cpp.ru/vk/turbobl/

Злоп

там даже вот так уже ругается
//фигня
#хрень
Процедура Чтото()...

Если коммент с фигней убрать - то проходит...

trad

Цитата: Djelf от 12 апреля 2024, 13:49Препроцессор Классов 1с++ работает через //# Команда и никак иначе.
Точно! //#
Лопухнулся, извините

Злоп

Цитата: trad от 12 апреля 2024, 14:04Точно! //#
Лопухнулся, извините
.
"Я успел забыть больше чем вы знали!" ;-)

Djelf

Цитата: Злоп от 12 апреля 2024, 13:57одно время турбоБЛ отдельно был, может там что полезного накопать можно
https://openconf.1cpp.ru/vk/turbobl/
Это сильно устарело, копать эти исходники смысла, imho, нет. В 1cpp они актуальнее.

АЛьФ

Цитата: trad от 12 апреля 2024, 13:37Так и я про то что компилятор и синтакс контроль игнорирует строки на # и 1спп это использует для выражений описания классов и препроцессора
Игнорирует только в начале модуля. А 1С++ использует собственный механизм с # по всему модулю.

АЛьФ


Djelf

Цитата: АЛьФ от 12 апреля 2024, 11:01Если я в групповой контекста добавляю свой контекст, то он зависает в памяти. Может другие контексты 1С как-то отдельно уничтожает, но сомнительно.
А что будет если прогнать в цикле с мониторингом Система.Память(0)?
Я в тесте своей ВК curl1c использую такое, эта штука очень хорошо помогает найти изъяны...

АЛьФ

Цитата: Djelf от 12 апреля 2024, 14:16
Цитата: АЛьФ от 12 апреля 2024, 11:01Если я в групповой контекста добавляю свой контекст, то он зависает в памяти. Может другие контексты 1С как-то отдельно уничтожает, но сомнительно.
А что будет если прогнать в цикле с мониторингом Система.Память(0)?
Я в тесте своей ВК curl1c использую такое, эта штука очень хорошо помогает найти изъяны...

Попробую на выходных.

АЛьФ

Цитата: Djelf от 12 апреля 2024, 14:16
Цитата: АЛьФ от 12 апреля 2024, 11:01Если я в групповой контекста добавляю свой контекст, то он зависает в памяти. Может другие контексты 1С как-то отдельно уничтожает, но сомнительно.
А что будет если прогнать в цикле с мониторингом Система.Память(0)?
Я в тесте своей ВК curl1c использую такое, эта штука очень хорошо помогает найти изъяны...

Нужна пояснительная бригада. Что возвращает эта функция? С передачей аргумента 0 вообще никакой реакции. Если передать 1, то выдает информацию:
-- до открытия обработки
Heap( 0x00f90000 ): Used: 1104811 ( 11530 block(s) ); Overhead: 116005; Committed: 1679360; UnCommitted: 1589248
Heap( 0x01fd0000 ): Used: 0 ( 0 block(s) ); Overhead: 0; Committed: 4096; UnCommitted: 61440
-- внешняя обработка открыта
Heap( 0x00f90000 ): Used: 1128881 ( 11783 block(s) ); Overhead: 118583; Committed: 1679360; UnCommitted: 1589248
Heap( 0x01fd0000 ): Used: 0 ( 0 block(s) ); Overhead: 0; Committed: 4096; UnCommitted: 61440
-- внешняя обработка закрыта
Heap( 0x00f90000 ): Used: 1106607 ( 11544 block(s) ); Overhead: 116145; Committed: 1679360; UnCommitted: 1589248
Heap( 0x01fd0000 ): Used: 0 ( 0 block(s) ); Overhead: 0; Committed: 4096; UnCommitted: 61440

Это просто пустая обработка открывается/закрывается. Без какого-либо моего вмешательства в групповой контекст обработки.
Что значат эти цифры?

Djelf

// funcMemInfo(флПоказыватьСообщения, битЗатребованнаяИнформация)
// флПоказыватьСообщения == [1 / 0]
// битЗатребованнаяИнформация == [бит 0: CRT Heap; бит 1: VTExtended Heap]

Система.Память(0) возвращает число, использую как-то так:
Состояние("Тест конвертера BASE64: "+ии+"/"+КоличествоПроходов+" Память: "+Система.Память(0));

АЛьФ

Цитата: Djelf от 14 апреля 2024, 14:39Система.Память(0) возвращает число, использую как-то так:
Состояние("Тест конвертера BASE64: "+ии+"/"+КоличествоПроходов+" Память: "+Система.Память(0));

А что это число значит?

Djelf

Если будет утечка, то этот показатель покажет что она есть.
У тебя же есть исходники, там не сложно...

АЛьФ

Цитата: Djelf от 14 апреля 2024, 15:51Если будет утечка, то этот показатель покажет что она есть.
У тебя же есть исходники, там не сложно...

Или абсолютно бесполезная штука, или я чего-то не понимаю.
В конфигу загружена только 1С++, открываю/закрываю пустую внешнюю обработку:
До открытия:1008433
При открытой:1123628
После закрытия:1105506

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