Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
5
Task/Memory-allocation/Ada/memory-allocation-1.adb
Normal file
5
Task/Memory-allocation/Ada/memory-allocation-1.adb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
declare
|
||||
X : Integer; -- Allocated on the stack
|
||||
begin
|
||||
...
|
||||
end; -- X is freed
|
||||
6
Task/Memory-allocation/Ada/memory-allocation-2.adb
Normal file
6
Task/Memory-allocation/Ada/memory-allocation-2.adb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
declare
|
||||
type Integer_Ptr is access Integer;
|
||||
Ptr : Integer_Ptr := new Integer; -- Allocated in the heap
|
||||
begin
|
||||
...
|
||||
end; -- Memory is freed because Integer_Ptr is finalized
|
||||
8
Task/Memory-allocation/Ada/memory-allocation-3.adb
Normal file
8
Task/Memory-allocation/Ada/memory-allocation-3.adb
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
declare
|
||||
type Integer_Ptr is access Integer;
|
||||
procedure Free is new Ada.Unchecked_Deallocation (Integer, Integer_Ptr)
|
||||
Ptr : Integer_Ptr := new Integer; -- Allocated in the heap
|
||||
begin
|
||||
Free (Ptr); -- Explicit deallocation
|
||||
...
|
||||
end;
|
||||
3
Task/Memory-allocation/Ada/memory-allocation-4.adb
Normal file
3
Task/Memory-allocation/Ada/memory-allocation-4.adb
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
package P is
|
||||
X : Integer; -- Allocated in the result the package elaboration
|
||||
end P;
|
||||
15
Task/Memory-allocation/COBOL/memory-allocation.cob
Normal file
15
Task/Memory-allocation/COBOL/memory-allocation.cob
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
PROGRAM-ID. memory-allocation.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 based-data PIC X(20) VALUE "Hello, World!"
|
||||
BASED.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*> INITIALIZED sets the data item to the VALUE.
|
||||
ALLOCATE based-data INITIALIZED
|
||||
DISPLAY based-data
|
||||
FREE based-data
|
||||
|
||||
GOBACK
|
||||
.
|
||||
13
Task/Memory-allocation/V-(Vlang)/memory-allocation.v
Normal file
13
Task/Memory-allocation/V-(Vlang)/memory-allocation.v
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
// allocate 2 uninitialized bytes & return a reference
|
||||
mut p := unsafe { malloc(2) }
|
||||
|
||||
// p[0] = `h` // Error: pointer indexing is only allowed in `unsafe` blocks
|
||||
unsafe {
|
||||
p[0] = `h` // OK
|
||||
p[1] = `i`
|
||||
}
|
||||
// p++ // Error: pointer arithmetic is only allowed in `unsafe` blocks
|
||||
unsafe { p++ } // OK
|
||||
if *p == `i` { println((*p).ascii_str()) } else { println("`*p` is not `i`") }
|
||||
unsafe { free(p) }
|
||||
exit(0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue