Question about General programming

Started by Frank Brübach, November 01, 2023, 09:33:53 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Frank Brübach

Hi all.. whats the Main different to Program with an *.Inc File and / or loading a *.dll File? Its a question of Speed or more clearer programming structure?

Its possible for example to make an exe File without loading (Here: oxygen) this rtl32 rtl64 Inc File? I have tried to load the RTL32. Inc File AS a dll File (Like rtl32.o2bas then load IT AS RTL32.dll in a simple Testfile.o2bas) Just for Testing but that failed to make an exe File..

So I suggest you can't  Program a Basic Kind language without include / winapi.inc Files or Well known Headers... It's inevitable? A Lot of Basic software Programs we're built after a serious Plan but there are loading quite different Dll's too so why they cant Pack all in one big Software?  May be thats a silly Idea?

Thanks for some Feedbacks in advance

Frank

Charles Pegge

#1
RTL32.inc carries the source code for the run-time library (RTL). This is needed when creating an independent binary (EXE or DLL). It is not needed when running in memory (JIT mode) because the program can directly access the RTL embedded in oxygen.dll.

oxygen.dll itself can provide both run-time library functions and compiling services.

If you use RTL64 instead of RTL32, a 64-bit binary will be produced.

Use corewin when you need to access any Windows API calls. (it declares about 5000 functions). But consoleG, among several other source libraries already includes it.

Frank Brübach

#2
Many thanks Charles :)

a) What does IT mean "when running in memory jit mode" ? Any example Here?

b)  thx for corewin I use  IT  at the Moment Not very often

c) I am wrong or  AS I understand its possible to build an oxygenBig.dll  file without this seperately  rtl32.inc File or other
winapi include Files to create an exe File?

D) Just in Time Mode is the Concept of asm
(Assembler)  Machine Code?

I am amazed that you can Produce by self compiling such a great oxygen Basic Compiler :-) the more I am working with oxygen the more I Love oxygen thx for your big Engagement for this Compiler


Charles Pegge

Hi Frank,

JIT means Just In Time. The source code is compiled in memory just before it is needed.

corewin is hidden in most code that uses Windows API calls

To create an EXE or DLL, You need to use one of the RTLs at the beginning of your code. Most of the RTL code is written in Assembler.

It took about 10 years to get Oxygen to the self-compiling stage - a bit longer than I expected :)

Frank Brübach

#4
Thanks a Lot I See and noticed how much time and Stress and fun this hard Work Had been for you :)

I have started 2017/18 a little Compiler similar to freebasic / oxygen Basic During my studying time and ask myself how to build or generate exe and dll Files...

I have avoided that time to make a closer View to oxygen cause of Strange Assembler technique for me

Have a nice thursday and weekend Charles

Zlatko Vid

sorry if this sounds off_topic

but where gone topic about Floating Toolbar Window?
Is it just deleted ?

Charles Pegge

I would quite like to see this topic again. Can it be recovered from the recycle bin or wherever it went, Theo?

Frank Brübach

Sorry was my mistake wanted to delete only one Post did IT with my Smartphone If I have fixed my example I will repeat IT again
Regards Frank