示例函数说明
samples/native/common 目录包含几个 common*.c
和 common*.h
文件,定义并实现了 C API SDK 示例中使用的辅助函数。
下表简要描述了每个文件的内容。
请注意
您所收到的软件包中的实际文件可能并不包含此处列出的所有文件。建议在开发环境中测试和修改 SDK 示例时查看这些文件。
common.h / common.c
(应用于大多是示例)
sample_open_database
MCO_RET sample_open_database(...)
打开内存中或持久化数据库。
sample_load_database
MCO_RET sample_load_database(...)
加载数据库。
sample_close_database
MCO_RET sample_close_database(const char * db_name, sample_memory_t * pdev)
关闭指定的数据库并释放其内存。
sample_header
void sample_header(const char * descr)
显示指定的消息描述(通常在示例应用程序的开头调用,以表明正在演示的功能)。
sample_errhandler
void sample_errhandler(MCO_RET n)
实现一个简单的致命错误处理程序。
sample_pause
void sample_pause(const char * prompt)
显示提示并暂停示例以等待用户输入
sample_pause_end
void sample_pause_end(const char * prompt)
对于 Windows 应用程序,如果处于发布模式,则打印一行,并调用 sample_pause()
函数。
sample_show_runtime_info
void sample_show_runtime_info(const char * lead_line)
显示运行时信息,表明已链接哪些库以及启用了哪些功能。
sample_show_device_info
void sample_show_device_info(const char * lead_line, mco_device_t dev[], int nDev)
显示所有内存设备的内存类型、分配类型以及文件信息(针对持久性数据库)。
sample_rc_check
void sample_rc_check(const char * msg, MCO_RET rc)
如果返回代码 rc 不是 MCO_S_OK,则显示“成功”以及指定的消息 msg 或错误消息。
sample_show_device_info
int sample_is_release()
如果已链接发布库,则返回非零值。
sample_disk_supported
int sample_disk_supported()
如果链接了持久数据库磁盘管理器库,则返回非零值
mco_ret_string
const char * mco_ret_string(MCO_RET rc, int * is_error)
如果返回代码表示非致命错误,则返回与该返回代码关联的错误消息字符串,并将 is_error 设置为 true 。
CHECK
#define CHECK(func)
宏调用一个函数,如果发生错误则显示错误消息并终止应用程序。
CHECK_CODE
#define CHECK_CODE(func, code)
宏调用函数,若发生错误则以错误代码和消息终止应用程序。
sample_start_task
unsigned int sample_start_task(...)
调用函数来生成一个线程。
sample_start_connected_task
unsigned int sample_start_connected_task(...)
初始化任务描述符并生成一个任务(线程) 。
sample_stop_task
unsigned int sample_stop_task(sample_task_t * descr)
设置任务描述符标志stopped以使线程停止。
sample_join_task
unsigned int sample_join_task(sample_task_t * descr)
加入由指定描述符所指向的任务(线程)。
sample_msec
int sample_msec()
返回当前系统时间(以毫秒为单位)。
sample_sleep
void sample_sleep(unsigned int duration_msec)
使应用程序暂停指定的毫秒数。
commonSQL.h / commonSQL.c
(用于高可用性示例)
sql_ret_string
const char * sql_ret_string(MCO_RET rc)
返回与指定返回代码 rc
相对应的 SQL 消息字符串。
sample_sql_rc_check
void sample_sql_rc_check(const char * msg, MCO_RET rc)
如果返回代码 rc
不是 MCO_S_OK
,则显示“成功”以及指定的消息 msg
或 SQL 错误消息。
commonha.h / commonha.c
(用于高可用性示例)
CLEAR_PROCESS_MASKS
#define CLEAR_PROCESS_MASKS(set)
为当前平台定义宏 CLEAR_PROCESS_MASKS
。
SET_PROCESS_MASK
#define SET_PROCESS_MASK(set, mask)
为当前平台定义宏 SET_PROCESS_MASKS
。
sample_HA_replica_notifying
void sample_HA_replica_notifying(...)
仅以可读的形式打印副本通知的副本通知程序。
commoncl.h / commoncl.c
(用于集群功能示例)
sample_cluster_parse_opts
解析应用程序的 argv[] 参数列表,并相应地设置集群参数。
sample_cluster_print_params
void sample_cluster_print_params(mco_cluster_params_t *cl_params)
显示集群运行时参数设置。
sample_cluster_usage
void sample_cluster_usage()
显示可能的应用程序运行时选项及其含义。
initos.h / initos.c
(用于大多数示例)
sample_os_initialize
void sample_os_initialize(int req_features)
一个用于初始化特定平台相关功能的启动函数,适用于诸如 VxWorks 和 ecos 等嵌入式系统。
sample_os_shutdown
void sample_os_shutdown()
一种用于关闭特定平台相关功能的终止函数,适用于诸如 VxWorks 和 ecos 等嵌入式系统。
main
int main(int argc, char* argv[])
int main()
适用于 VxWorks 和 ecos 等嵌入式系统的应用程序的标准化主入口点。