support: Customer Portal
Focused on delivering choice, investment protection and flexibility to organizations with valuable COBOL assets
 

isCOBOL Knowledge Base
Home > All Categories > isCOBOL General > How would I create my own CBL_ALLOC_MEM and CBL_FREE_MEM routines?
Question Title How would I create my own CBL_ALLOC_MEM and CBL_FREE_MEM routines?

Here are some examples:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CBL_ALLOC_MEM.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       LINKAGE SECTION.
       01 LNK-MEM-POINTER      POINTER.
       01 LNK-MEM-SIZE         UNSIGNED-INT.
       01 LNK-FLAGS            UNSIGNED-INT.
       PROCEDURE DIVISION USING LNK-MEM-POINTER
                                LNK-MEM-SIZE 
                                LNK-FLAGS. 
       MAIN.
            IF LNK-MEM-SIZE GREATER THAN ZERO 
                CALL "calloc" USING BY VALUE 1
                              BY VALUE LNK-MEM-SIZE
                              RETURNING LNK-MEM-POINTER
            END-IF.
            GOBACK.

		
		
		
		
		
       IDENTIFICATION DIVISION.
       PROGRAM-ID. CBL_FREE_MEM.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       LINKAGE SECTION.
       01 LNK-MEM-POINTER      POINTER.
       PROCEDURE DIVISION USING LNK-MEM-POINTER.
       MAIN.
            IF LNK-MEM-POINTER NOT EQUAL TO ZERO 
                CALL "free" USING BY VALUE LNK-MEM-POINTER
            END-IF.
            GOBACK.

Note that both of the above programs must be compiled with the -cp POINTER compatibility option. 

On Windows the calloc() and free() functions are in MSVCRT.DLL which must be preloaded by specifying iscobol.shared_library_list=msvcrt.dll. 

For example, the following test program allocates and frees 100 bytes:

id division.
program-id. test.
data division.
working-storage section.
77 mem-ptr usage pointer.
procedure division.
main-logic.
   call "CBL_ALLOC_MEM" using mem-ptr, by value 100, by value 0.
   call "CBL_FREE_MEM" using by value mem-ptr.
To compile and run:
iscc -cp CBL_ALLOC_MEM.cbl
iscc -cp CBL_FREE_MEM.cbl
iscc -cp test.cbl
java -Discobol.shared_library_list=msvcrt.dll TEST

Authored by: Veryant Support This question has been viewed 1189 times so far.
Click Here to View all the questions in isCOBOL General category.
File Attachments File Attachments
There are no attachment file(s) related to this question.
How helpful was this article to you?
User Comments User Comments Add Comment
There are no user comments for this question. Be the first to post a comment. Click Here
Related Questions Related Questions
  1. What Micro Focus library routines are not supported?
  2. How do I migrate indexed files to a format that is supported by isCOBOL?
  3. Should I use JISAM or isCOBOL ISAM Server (c-treeACE)?
  4. What is the best way to control Microsoft Word?
  5. What ACUCOBOL-GT library routines are not supported or work differently?
  6. How do I set up isCOBOL to access Vision files?
  7. How do I resolve "code too large for try statement" errors?
  8. What is the recommended method for specifying isCOBOL framework properties?
  9. What are the key technical advantages of isCOBOL?
  10. How does a program detect at runtime whether it is running standalone GUI, thin client or with Web Direct 2.0?
  11. How can I package my application and execute it in a JAR file?
  12. Is there currently a way to debug COBOL and Java source together?
  13. Do I need to worry about the compile warning "Note: MYPROG.java uses unchecked or unsafe operations?"
  14. How do I get my screens to be the same size and spacing as when I run with ACUCOBOL?
  15. How do I resolve a compile error on PIC X(2) USAGE COMP-5?
  16. How do I specify properties or a properties file on the command line?
  17. How do I create a desktop shortcut icon to launch my program?
  18. What compile option should I use for ICOBOL compatibility?
  19. Does isCOBOL APS support C$XML or other XML interfaces?
  20. BULK-ADDITION clause on the OPEN statement
  21. How do I print to a spooler in Unix?
  22. Is there a way to have single set of source code that will compile with both ACUCOBOL and isCOBOL?
  23. Why do I get a compile error "--S: Invalid open mode" on an OPEN I-O of an ORGANIZATION LINE SEQUENTIAL file?
  24. Is the isCOBOL 2009 SP1 release intended to deploy mainframe applications over the cloud? Or is it an integration mechanism for bringing in cloud data and apps?
  25. Is your runtime library backward compatible?
  26. How do I prevent hackers from decompiling Java class files to reverse engineer my COBOL application?
  27. Can Veryant recommend a good Web site to find 3rd party JavaBeans?
  28. How do I select 11x17 paper size using WIN$PRINTER?
  29. How do I suppress multiple reserved words with the -rw compiler option?
  30. Does SET ADDRESS OF X TO Y work?
  31. How do I get more information when I get java.lang.reflect.InvocationTargetException?
  32. How do I change the icon in the upper left corner of the Window?
  33. How do I increase the maximum Java heap size when compiling?
  34. How do I use conditional compilation?
  35. What is the easiest and/or best way to convert a legacy text-based user interface to a web front end?
  36. How do I compile for compatibility with older versions of Java?
  37. Does isCOBOL run on Linux on System z?
  38. Can you derive isCOBOL object classes from Java and vice versa?
  39. How do I set iscobol.file.index.FileName with variable file name assignments?
  40. Where can I obtain a copy of the ANSI 2002 COBOL standard?
  41. What is the behavior difference of STOP THREAD?
  42. Can the file system (iscobol.file.index) be set programmatically?
  43. Can isCOBOL access a DLL or .so that is in a JAR file?
  44. How can I read an Excel spreadsheet from COBOL?
  45. Where can I learn more about Classpath, the Java class loader, JDK tools and utilities?
  46. How do I turn on debug trace to produce a log file?
  47. How do I write my own replacement for a C$ library routine?
  48. I've heard there is a problem passing pointers to C functions. What is it?
  49. Does isCOBOL work with Flexus COBOL sp2?
  50. What are the defaults for the DATE-ENTRY control DISPLAY-FORMAT property and format styles?
  51. What algorithm does isCOBOL use to load framework properties (runtime config variables)?
  52. How can I make my isCOBOL program to be called instead of a C routine when both have the same name?
  53. What is the best way to profile an isCOBOL program?
  54. How can I use the F10 key in my application without it changing the keyboard focus?
  55. Does isCOBOL APS run on z/OS?
  56. Is there any equivalent to COPY RESOURCE?
  57. Can I use directory paths in CALL names?
  58. How do I compile fixed (ANSI) format source that COPYs terminal format source or vice versa?
  59. Is there any way to use isCOBOL with SCO 5.0.6 (JDK 1.3)?
  60. What should I use for USAGE HANDLE items instead of NULL?
  61. How do I specify which file status codes I want to use?
  62. How do I configure file locations with environment variables?
  63. How can I tell what changes were made in the isCOBOL latest update?
  64. Where can I find more information on A$ENCRYPT and A$DECRYPT?
  65. Is isCOBOL backward compatible?
  66. Why do I get the error message "Native call not found" and how do I fix the problem?
  67. Why do I get the error java.lang.NoClassDefFoundError: com/iscobol/rts_n/StopRunException?
Article Information Additional Information
Article Number: 15
Created: 2009-08-28 1:43 PM
Rating: No Rating
 
Article Options Article Options
Print Question Print this Question
Email Question Email Question to Friend
Export to Adobe PDF Export to PDF File
Export to MS Word Export to MS Word
Bookmark Article
Subscribe to Article Subscribe to Article
 
Search Knowledge Base Search Knowledge Base



  Home   |   About Us   |   Contact   |   Legal   |   Privacy   |   Press  
 
 

© Veryant LLC - All Rights Reserved
Veryant and isCOBOL are trademarks or registered marks of Veryant LLC in the United States and other countries. All other marks are the property of their respective owners.