Download The Ch Language Environment SDK User's Guide

Transcript
Chapter A: Functions for Dynamically Loaded Library — <ch.h>
Ch GlobalSymbolAddrByName
Listing 3 — Makefile
# build dynamically loaded
lib libch.dl and libchcpp.dl
target: Makefile libch.dl libchcpp.dl
libch.dl: Makefile chvastart.o chglobalsymboladdrbyname.o chcallfuncbyaddr.o \
chcallfuncbyaddr_1.o chcallfuncbyaddr_2.o vararg.o
ch dllink libch.dl chvastart.o chglobalsymboladdrbyname.o chcallfuncbyaddr.o \
chcallfuncbyaddr_1.o chcallfuncbyaddr_2.o chvaisfuncvararg.o vararg.o
libchcpp.dl: Makefile chuserdefinedname.o
ch dllink libchcpp.dl cplusplus chuserdefinedname.o
chvastart.o: chvastart.c
ch dlcomp libch.dl chvastart.c
chcallfuncbyaddr.o: chcallfuncbyaddr.c
ch dlcomp libch.dl chcallfuncbyaddr.c
chglobalsymboladdrbyname.o: chglobalsymboladdrbyname.c
ch dlcomp libch.dl chglobalsymboladdrbyname.c
chcallfuncbyaddr_1.o: chcallfuncbyaddr_1.c
ch dlcomp libch.dl chcallfuncbyaddr_1.c
chcallfuncbyaddr_2.o: chcallfuncbyaddr_2.c
ch dlcomp libch.dl chcallfuncbyaddr_2.c
chvaisfuncvararg.o: chvaisfuncvararg.c
ch dlcomp libch.dl chvaisfuncvararg.c
vararg.o: vararg.c
ch dlcomp libch.dl vararg.c
chuserdefinedname.o: chuserdefinedname.cpp
ch dlcomp libch.dl cplusplus chuserdefinedname.cpp
Output
&ch_i in Ch space: 2ebe68
ch_i value in dynamically loaded object passed from Ch program is: 10
ch_p value in dynamically loaded object passed from Ch program is: 2ebe68
*ch_p value in dynamically loaded object passed from Ch program is: 1000
ch_f value in dynamically loaded object passed from Ch program is: 20.000000
ch_a[0] = 10 ch_a[1] = 20, ch_a[2] = 30
ch_a[0] = 10 ch_a[1] = 20, ch_a[2] = 30
ch_a[0] = 100 ch_a[1] = 200, ch_a[2] = 300
str[0] = abcd str[1] = ABCD
ch_i value is re-assigned by dynamically loaded object to: 1000
ch_f value is re-assigned by dynamically loaded object to: 2000.000000
See Also
Ch CallFuncByAddr(), Ch CallFuncByName().
300