[导入]MsAjax Lib-> Array.enqueue 函数

本文介绍了Array.enqueue函数的使用方法,这是一个用于在Array对象末尾添加元素的静态函数。由于此函数可能在未来被弃用,建议使用add函数作为替代。
Array.enqueue 函数。在 Array对象 结尾追加指定的元素. 静态函数,无需实例化。本函数支持公共客户端脚本,但日后可能会废弃,因此不推荐使用。使用 add 函数来代替 enqueue 函数. 本函数支持公共客户端脚本,但日后可能会废弃,因此不推荐使用。 1514068.aspx
文章来源: http://blog.youkuaiyun.com/chsword/archive/2007/02/25/1514068.aspx

转载于:https://www.cnblogs.com/chsword/articles/656348.html

1. 核心数据结构模块 // fileinfo.h typedef struct { char name[256]; char path[1024]; off_t size; mode_t permissions; time_t create_time; time_t modify_time; } FileInfo; 2. 静态库实现模块 // fileinfo_static.c int get_file_info_basic(const char *path, FileInfo *info) { struct stat st; if (stat(path, &st) < 0) return -1; // 文件IO操作 // 提取文件名(关键路径处理) const char *base = strrchr(path, '/'); strncpy(info->name, base ? base+1 : path, 255); info->size = st.st_size; // 获取基础属性 return 0; } mode_t permissions; time_t create_time; time_t modify_time; } FileInfo; 3. 动态库实现模块 // fileinfo_dynamic.c int get_file_info_extended(const char *path, FileInfo *info) { struct stat st; if (stat(path, &st) < 0) return -1; // 文件IO操作 strncpy(info->path, path, 1023); // 存储完整路径 info->permissions = st.st_mode & 0777; // 权限掩码 info->create_time = st.st_ctime; info->modify_time = st.st_mtime; return 0; } 4. 多线程处理模块 // main.c void* thread_func(void* arg) { ThreadArg* targ = (ThreadArg*)arg; // 静态库调用 get_file_info_basic(targ->path, &targ->info); // 动态库加载 void* handle = dlopen("./libfileinfo.so", RTLD_LAZY); int (*get_extended)() = dlsym(handle, "get_file_info_extended"); // 动态库调用 get_extended(targ->path, &targ->info); // 同步输出(互斥锁保护) pthread_mutex_lock(&lock); printf("File: %s\n", targ->info.name); /* 属性输出 */ pthread_mutex_unlock(&lock); } int main() { // 创建线程池(每个文件一个线程) for (int i = 0; i < argc-1; i++) { pthread_create(&threads[i], NULL, thread_func, &args[i]); } } 5. 构建系统模块 # Makefile all: static_lib dynamic_lib build_main static_lib: gcc -fPIC -c fileinfo_static.c # 编译静态库对象 ar rcs libfileinfo.a fileinfo_static.o # 打包.a dynamic_lib: gcc -fPIC -shared -o libfileinfo.so fileinfo_dynamic.c # 编译.so build_main: gcc -o file_viewer main.c libfileinfo.a -lpthread -ldl # 链接主
最新发布
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值