The last releases were a bit chaotic, but now everything should be fine.
Because of major bugs, the version 20190407 has been removed.
The version 20190419 was initially published a few minutes before being removed because of a last important bug in RamDyn.
Thanks to "paradis pal" for all his reports.
Of course I keep in mind the bug mentionned in the Documentation section about the dynamic ramdisks used in a NTFS folder without TRIM commands.
A workaround could be to use a temporary drive letter. Not very elegant, and I am not even sure that this will work, but it could be worth trying that.
❤️
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I want to report, after reporting weird behavior on Windows 1809, that Imdisk failed to mount the ram-disk automatically on start up, the problem has been resolved in this update, and ram-disk is mounted automatically every time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In fact, in version 20190407, RamDyn immediately crashed if the cleanup function was used.
I was writing in a constant string... And by default, GCC puts constants in a read-only memory. Olof does similar thing in the driver, but his compiler is not the same, and perhaps he uses some compilation options about that.
The worst is that GCC produced absolutely no warning, despite the write in the string was direct.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems very unlikely that I write to a constant string in the driver. Code analyze tools I use warn about such things and it would also make it difficult to make it work at all in a driver. In most configurations it would need manual flag specifications for the data segment where that "constant string" will be stored, because they are by default read-ony and it would cause blue-screen crashes to attempt to write to them.
Are you sure that you are not just confusing auto-initiatlized string variable with string constants?
For example, the difference between:
char var[] = "ABC";
and
char *var = "ABC";
The first example creates a string variable initiatlized with a string. That works like any variable, it can be modified at runtime just like any variable. The second example declares a pointer to a string constant. In most cases it is not allowed to modify the constant string that this variable points to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The last releases were a bit chaotic, but now everything should be fine.
Because of major bugs, the version 20190407 has been removed.
The version 20190419 was initially published a few minutes before being removed because of a last important bug in RamDyn.
Thanks to "paradis pal" for all his reports.
Of course I keep in mind the bug mentionned in the Documentation section about the dynamic ramdisks used in a NTFS folder without TRIM commands.
A workaround could be to use a temporary drive letter. Not very elegant, and I am not even sure that this will work, but it could be worth trying that.
I want to report, after reporting weird behavior on Windows 1809, that Imdisk failed to mount the ram-disk automatically on start up, the problem has been resolved in this update, and ram-disk is mounted automatically every time.
In fact, in version 20190407, RamDyn immediately crashed if the cleanup function was used.
I was writing in a constant string... And by default, GCC puts constants in a read-only memory. Olof does similar thing in the driver, but his compiler is not the same, and perhaps he uses some compilation options about that.
The worst is that GCC produced absolutely no warning, despite the write in the string was direct.
It seems very unlikely that I write to a constant string in the driver. Code analyze tools I use warn about such things and it would also make it difficult to make it work at all in a driver. In most configurations it would need manual flag specifications for the data segment where that "constant string" will be stored, because they are by default read-ony and it would cause blue-screen crashes to attempt to write to them.
Are you sure that you are not just confusing auto-initiatlized string variable with string constants?
For example, the difference between:
char var[] = "ABC";
and
char *var = "ABC";
The first example creates a string variable initiatlized with a string. That works like any variable, it can be modified at runtime just like any variable. The second example declares a pointer to a string constant. In most cases it is not allowed to modify the constant string that this variable points to.
My fault, it seems you are right. I did not recheck the syntax you used.
Thank you so much, I am really impressed how could you find and fix it so fast,
I installed the new version in both laptops and it works fine,
Wish you a nice day. Happy Easter!