Create an object at a given address: Difference between revisions
Create an object at a given address (view source)
Revision as of 14:11, 21 November 2023
, 5 months ago→{{header|Wren}}: Minor tidy
(Initial FutureBasic task solution added) |
m (→{{header|Wren}}: Minor tidy) |
||
Line 1,110:
Note that it is not possible to specify the address at which the embedding API function ''wrenSetSlotNewForeign'' allocates new objects and any attempt to allocate a new object at the same address as an old one by juggling with pointers will almost certainly lead to a seg fault. So all we can sensibly do is to change the value of the current object.
<syntaxhighlight lang="
import "./fmt" for Fmt
Line 1,132:
<br>
We now embed this in the following C program, compile and run it.
<syntaxhighlight lang="c">/* gcc
#include <stdio.h>
Line 1,247:
WrenVM* vm = wrenNewVM(&config);
const char* module = "main";
const char* fileName = "
char *script = readFile(fileName);
WrenInterpretResult result = wrenInterpret(vm, module, script);
Line 1,272:
Integer object value changed to: 43 but still at address 0x55a56e0f2dd8.
</pre>
=={{header|Z80 Assembly}}==
When writing assembly yourself, you'll know any object's memory location in advance.
|