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