Re: Is it possible to make a library (dll/so) from separated .d files?

2023-04-03 Thread dog2002 via Digitalmars-d-learn
On Monday, 3 April 2023 at 11:29:12 UTC, Hipreme wrote: On Monday, 3 April 2023 at 09:08:42 UTC, dog2002 wrote: Hello. The title sounds weird, but I try to explain it better. In Unreal Engine and Unity, source code files don't use main() and other important functions. They have only a class. L

Re: Is it possible to make a library (dll/so) from separated .d files?

2023-04-03 Thread dog2002 via Digitalmars-d-learn
On Monday, 3 April 2023 at 09:08:42 UTC, dog2002 wrote: Hello. The title sounds weird, but I try to explain it better. In Unreal Engine and Unity, source code files don't use main() and other important functions. They have only a class. Like this: ``` class SomeClass: someInterface { AFu

Is it possible to make a library (dll/so) from separated .d files?

2023-04-03 Thread dog2002 via Digitalmars-d-learn
Hello. The title sounds weird, but I try to explain it better. In Unreal Engine and Unity, source code files don't use main() and other important functions. They have only a class. Like this: ``` class SomeClass: someInterface { AFunctionFromTheInterface1() { } AFunctionFromT

Re: How to update terminal output?

2021-03-28 Thread dog2002 via Digitalmars-d-learn
On Sunday, 28 March 2021 at 17:13:02 UTC, Mark Lagodych wrote: On Sunday, 28 March 2021 at 16:45:29 UTC, dog2002 wrote: I mean, I want to write a string without a new line. For example, some command line applications have progress bars. For a single line string I use \r. But it doesn't work fo

How to update terminal output?

2021-03-28 Thread dog2002 via Digitalmars-d-learn
I mean, I want to write a string without a new line. For example, some command line applications have progress bars. For a single line string I use \r. But it doesn't work for a multiple line string - the application is just adding new lines.

How to handle exceptions right?

2021-03-08 Thread dog2002 via Digitalmars-d-learn
I want to call functions according to an exception. In C there is the errno function. But if I use try...catch, it shows a trace or a message. How do I check an exception type? For example: std.socket.SocketOSException@std/socket.d(2857): Unable to connect socket: Connection refused -

Re: What are these functions called and how to implement they?

2021-01-28 Thread dog2002 via Digitalmars-d-learn
On Thursday, 28 January 2021 at 18:56:15 UTC, frame wrote: On Thursday, 28 January 2021 at 18:27:09 UTC, frame wrote: [...] A very simple example: bool myEventA = true; bool myEventB = false; // event source that generates the event (must be called to run) void source() { observe(myEven

What are these functions called and how to implement they?

2021-01-28 Thread dog2002 via Digitalmars-d-learn
I saw these functions in some projects. For example: in Dagon (https://gecko0307.github.io/dagon/) there are functions like onKeyDown. This function doesn't need to call - it checks pressed keys every time. Or Update in Unity (game engine). It doesn't need to call, but it executes itself every

Re: Directory recursive walking

2021-01-15 Thread dog2002 via Digitalmars-d-learn
On Friday, 15 January 2021 at 11:05:56 UTC, Daniel Kozak wrote: On Fri, Jan 15, 2021 at 10:30 AM dog2002 via Digitalmars-d-learn < digitalmars-d-learn@puremagic.com> wrote: ... Okay, the reason is incredibly stupid: using WinMain instead of main causes high memory usage. I don't

Re: Directory recursive walking

2021-01-15 Thread dog2002 via Digitalmars-d-learn
On Friday, 15 January 2021 at 06:15:06 UTC, dog2002 wrote: On Thursday, 14 January 2021 at 22:28:19 UTC, Paul Backus wrote: On Thursday, 14 January 2021 at 20:23:37 UTC, dog2002 wrote: [...] What code are you using to copy the bytes? If you're reading the whole file into memory at once, that

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Friday, 15 January 2021 at 06:56:36 UTC, dog2002 wrote: On Friday, 15 January 2021 at 06:33:55 UTC, Paul Backus wrote: On Friday, 15 January 2021 at 06:31:18 UTC, Paul Backus wrote: You can save a little bit of memory here by allocating tempBuffer on the stack: ubyte[512] tempBuffer;

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Friday, 15 January 2021 at 06:33:55 UTC, Paul Backus wrote: On Friday, 15 January 2021 at 06:31:18 UTC, Paul Backus wrote: You can save a little bit of memory here by allocating tempBuffer on the stack: ubyte[512] tempBuffer; _inputFile.rawRead(tempBuffer[]); // note the explicit

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Thursday, 14 January 2021 at 22:28:19 UTC, Paul Backus wrote: On Thursday, 14 January 2021 at 20:23:37 UTC, dog2002 wrote: About 1000 large files. I want to replace several first bytes in all the files, so I just copy the remaining bytes into a new file. Might this be the reason for high m

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Thursday, 14 January 2021 at 16:47:45 UTC, drug wrote: On 1/14/21 7:06 PM, dog2002 wrote: On Thursday, 14 January 2021 at 16:01:43 UTC, drug wrote: On 1/14/21 6:55 PM, drug wrote: But this method consumes a huge amount of memory (up to 4 GB and more). Is there a more appropriate way to wa

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Thursday, 14 January 2021 at 16:18:28 UTC, drug wrote: On 1/14/21 7:06 PM, dog2002 wrote: On Thursday, 14 January 2021 at 16:01:43 UTC, drug wrote: [...] Yes. I forgot to add it in the original post. Does using `ref` changed anything? Try following: ``` import std; void DirIteration(ref

Re: Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
On Thursday, 14 January 2021 at 16:01:43 UTC, drug wrote: On 1/14/21 6:55 PM, drug wrote: But this method consumes a huge amount of memory (up to 4 GB and more). Is there a more appropriate way to walk directories recursively that does not consume a lot of memory? DirEntry is a struct. Firs

Directory recursive walking

2021-01-14 Thread dog2002 via Digitalmars-d-learn
I need to make some operations with all the files in a directory and subdirectories. Currently, I do it like this: import std; void DirIteration(string path) { try { foreach(entry; dirEntries(path, SpanMode.shallow, false)) { //SpanMode.shallow allows skip directories if any error

Re: Is there a way to work with processes in Windows without extern(c)?

2021-01-13 Thread dog2002 via Digitalmars-d-learn
On Wednesday, 13 January 2021 at 15:11:40 UTC, Dennis wrote: On Wednesday, 13 January 2021 at 14:04:52 UTC, dog2002 wrote: [...] I don't think this is part of the standard library. Here's a piece of code I wrote a while ago if that's useful: [...] Thank you so much!

Is there a way to work with processes in Windows without extern(c)?

2021-01-13 Thread dog2002 via Digitalmars-d-learn
I need to get a list of processes in Windows (and their pid). I could use extern(c) and Process Walking (Process32First, Process32Next), but maybe there is a way to get the list by means of D?