您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CTX_INITIALIZED函数代码示例

51自学网 2021-06-01 20:06:50
  C++
这篇教程C++ CTX_INITIALIZED函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CTX_INITIALIZED函数的典型用法代码示例。如果您正苦于以下问题:C++ CTX_INITIALIZED函数的具体用法?C++ CTX_INITIALIZED怎么用?C++ CTX_INITIALIZED使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CTX_INITIALIZED函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: fko_get_spa_data

/* Return the fko SPA encrypted data.*/intfko_get_spa_data(fko_ctx_t ctx, char **spa_data){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    /* We expect to have encrypted data to process.  If not, we bail.    */    if(ctx->encrypted_msg == NULL || (strlen(ctx->encrypted_msg) < 1))        return(FKO_ERROR_MISSING_ENCODED_DATA);    *spa_data = ctx->encrypted_msg;     /* Notice we omit the first 10 bytes if Rijndael encryption is     * used (to eliminate the consistent 'Salted__' string), and     * in GnuPG mode we eliminate the consistent 'hQ' base64 encoded     * prefix    */    if(ctx->encryption_type == FKO_ENCRYPTION_RIJNDAEL)        *spa_data += strlen(B64_RIJNDAEL_SALT);    else if(ctx->encryption_type == FKO_ENCRYPTION_GPG)        *spa_data += strlen(B64_GPG_PREFIX);    return(FKO_SUCCESS);}
开发者ID:maxkas,项目名称:fwknop,代码行数:29,


示例2: fko_set_timestamp

/* Set the timestamp.*/intfko_set_timestamp(fko_ctx_t ctx, const int offset){    time_t ts;#if HAVE_LIBFIU    fiu_return_on("fko_set_timestamp_init", FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    ts = time(NULL) + offset;#if HAVE_LIBFIU    fiu_return_on("fko_set_timestamp_val",            FKO_ERROR_INVALID_DATA_TIMESTAMP_VALIDFAIL);#endif    if(ts < 0)        return(FKO_ERROR_INVALID_DATA_TIMESTAMP_VALIDFAIL);    ctx->timestamp = ts;    ctx->state |= FKO_DATA_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:PKRoma,项目名称:fwknop,代码行数:31,


示例3: fko_set_spa_encryption_mode

/* Set the SPA encryption mode.*/intfko_set_spa_encryption_mode(fko_ctx_t ctx, const int encrypt_mode){#if HAVE_LIBFIU    fiu_return_on("fko_set_spa_encryption_mode_init",            FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);#if HAVE_LIBFIU    fiu_return_on("fko_set_spa_encryption_mode_val",            FKO_ERROR_INVALID_DATA_ENCRYPT_MODE_VALIDFAIL);#endif    if(encrypt_mode < 0 || encrypt_mode >= FKO_LAST_ENC_MODE)        return(FKO_ERROR_INVALID_DATA_ENCRYPT_MODE_VALIDFAIL);    ctx->encryption_mode = encrypt_mode;    ctx->state |= FKO_ENCRYPT_MODE_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:mrash,项目名称:fwknop,代码行数:27,


示例4: fko_set_spa_hmac_type

/* Set the HMAC type*/intfko_set_spa_hmac_type(fko_ctx_t ctx, const short hmac_type){#if HAVE_LIBFIU    fiu_return_on("fko_set_spa_hmac_type_init",            FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);#if HAVE_LIBFIU    fiu_return_on("fko_set_spa_hmac_type_val",            FKO_ERROR_INVALID_DATA_HMAC_TYPE_VALIDFAIL);#endif    if(hmac_type < 0 || hmac_type >= FKO_LAST_HMAC_MODE)        return(FKO_ERROR_INVALID_DATA_HMAC_TYPE_VALIDFAIL);    ctx->hmac_type = hmac_type;    ctx->state |= FKO_HMAC_MODE_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:weizn11,项目名称:fwknop,代码行数:29,


示例5: fko_afl_set_spa_data

/* provide a way to set the encrypted data directly without base64 encoding. * This allows direct AFL fuzzing against decryption routines.*/intfko_afl_set_spa_data(fko_ctx_t ctx, const char * const enc_msg, const int enc_msg_len){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    if(enc_msg == NULL)        return(FKO_ERROR_INVALID_DATA_FUNCS_SET_MSGLEN_VALIDFAIL);    if(! is_valid_encoded_msg_len(enc_msg_len))        return(FKO_ERROR_INVALID_DATA_FUNCS_SET_MSGLEN_VALIDFAIL);    if(ctx->encrypted_msg != NULL)        free(ctx->encrypted_msg);    /* Copy the raw encrypted data into the context    */    ctx->encrypted_msg = calloc(1, enc_msg_len);    if(ctx->encrypted_msg == NULL)        return(FKO_ERROR_MEMORY_ALLOCATION);    memcpy(ctx->encrypted_msg, enc_msg, enc_msg_len);    ctx->encrypted_msg_len = enc_msg_len;    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:32,


示例6: fko_set_spa_data

/* Set the fko SPA encrypted data.*/intfko_set_spa_data(fko_ctx_t ctx, const char * const enc_msg){    int         enc_msg_len;    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    if(enc_msg == NULL)        return(FKO_ERROR_INVALID_DATA_FUNCS_SET_MSGLEN_VALIDFAIL);    enc_msg_len = strnlen(enc_msg, MAX_SPA_ENCODED_MSG_SIZE);    if(! is_valid_encoded_msg_len(enc_msg_len))        return(FKO_ERROR_INVALID_DATA_FUNCS_SET_MSGLEN_VALIDFAIL);    if(ctx->encrypted_msg != NULL)        free(ctx->encrypted_msg);    /* First, add the data to the context.    */    ctx->encrypted_msg = strdup(enc_msg);    ctx->encrypted_msg_len = enc_msg_len;    if(ctx->encrypted_msg == NULL)        return(FKO_ERROR_MEMORY_ALLOCATION);    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:33,


示例7: set_spa_digest_type

/* Set the SPA digest type.*/static intset_spa_digest_type(fko_ctx_t ctx,    short *digest_type_field, const short digest_type){#if HAVE_LIBFIU    fiu_return_on("set_spa_digest_type_init", FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);#if HAVE_LIBFIU    fiu_return_on("set_spa_digest_type_val",            FKO_ERROR_INVALID_DATA_ENCODE_DIGEST_VALIDFAIL);#endif    if(digest_type < 1 || digest_type >= FKO_LAST_DIGEST_TYPE)        return(FKO_ERROR_INVALID_DATA_ENCODE_DIGEST_VALIDFAIL);    *digest_type_field = digest_type;    ctx->state |= FKO_DIGEST_TYPE_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:27,


示例8: fko_spa_data_final

/* Final update and encoding of data in the context. * This does require all requisite fields be properly * set.*/intfko_spa_data_final(fko_ctx_t ctx, char *enc_key){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    return(fko_encrypt_spa_data(ctx, enc_key));}
开发者ID:maxkas,项目名称:fwknop,代码行数:14,


示例9: fko_get_version

/* Return the fko version*/intfko_get_version(fko_ctx_t ctx, char **version){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *version = ctx->version;    return(FKO_SUCCESS);}
开发者ID:maxkas,项目名称:fwknop,代码行数:14,


示例10: fko_get_encoded_data

/* Return the fko SPA encrypted data.*/intfko_get_encoded_data(fko_ctx_t ctx, char **enc_msg){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *enc_msg = ctx->encoded_msg;    return(FKO_SUCCESS);}
开发者ID:agreen,项目名称:fwknop,代码行数:14,


示例11: fko_get_spa_server_auth

/* Return the SPA message data.*/intfko_get_spa_server_auth(fko_ctx_t ctx, char **server_auth){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *server_auth = ctx->server_auth;    return(FKO_SUCCESS);}
开发者ID:shinsec,项目名称:fwknop,代码行数:14,


示例12: fko_get_spa_client_timeout

/* Return the SPA message data.*/intfko_get_spa_client_timeout(fko_ctx_t ctx, int *timeout){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *timeout = ctx->client_timeout;    return(FKO_SUCCESS);}
开发者ID:shinsec,项目名称:fwknop,代码行数:14,


示例13: fko_get_spa_encryption_mode

/* Return the SPA encryption mode.*/intfko_get_spa_encryption_mode(fko_ctx_t ctx, int *enc_mode){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *enc_mode = ctx->encryption_mode;    return(FKO_SUCCESS);}
开发者ID:blair,项目名称:fwknop,代码行数:14,


示例14: fko_get_spa_hmac_type

/* Return the fko HMAC type*/intfko_get_spa_hmac_type(fko_ctx_t ctx, short *hmac_type){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *hmac_type = ctx->hmac_type;    return(FKO_SUCCESS);}
开发者ID:blair,项目名称:fwknop,代码行数:14,


示例15: fko_get_username

/* Return the current username for this fko context.*/intfko_get_username(fko_ctx_t ctx, char **username){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *username = ctx->username;    return(FKO_SUCCESS);}
开发者ID:ag4ve,项目名称:fwknop,代码行数:14,


示例16: fko_get_spa_hmac

/* Return the fko HMAC data*/intfko_get_spa_hmac(fko_ctx_t ctx, char **hmac_data){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *hmac_data = ctx->msg_hmac;    return(FKO_SUCCESS);}
开发者ID:blair,项目名称:fwknop,代码行数:14,


示例17: fko_get_raw_spa_digest

intfko_get_raw_spa_digest(fko_ctx_t ctx, char **md){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *md = ctx->raw_digest;    return(FKO_SUCCESS);}
开发者ID:haron,项目名称:fwknop,代码行数:12,


示例18: fko_set_spa_nat_access

/* Set the SPA Nat Access data*/intfko_set_spa_nat_access(fko_ctx_t ctx, const char * const msg){    int res = FKO_SUCCESS;    /* Context must be initialized.    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    /* Gotta have a valid string.    */    if(msg == NULL || strnlen(msg, MAX_SPA_NAT_ACCESS_SIZE) == 0)        return(FKO_ERROR_INVALID_DATA_NAT_EMPTY);    /* --DSS XXX: Bail out for now.  But consider just     *            truncating in the future...    */    if(strnlen(msg, MAX_SPA_NAT_ACCESS_SIZE) == MAX_SPA_NAT_ACCESS_SIZE)        return(FKO_ERROR_DATA_TOO_LARGE);    if((res = validate_nat_access_msg(msg)) != FKO_SUCCESS)        return(res);    /* Just in case this is a subsquent call to this function.  We     * do not want to be leaking memory.    */    if(ctx->nat_access != NULL)        free(ctx->nat_access);    ctx->nat_access = strdup(msg);    ctx->state |= FKO_DATA_MODIFIED;    if(ctx->nat_access == NULL)        return(FKO_ERROR_MEMORY_ALLOCATION);    /* If we set the nat_access message Then we force the message_type     * as well. Technically, the message type should be set already.     * This will serve a half-protective measure.     * --DSS XXX: should do this better.    */    if(ctx->client_timeout > 0)    {        if(ctx->message_type != FKO_CLIENT_TIMEOUT_LOCAL_NAT_ACCESS_MSG)            ctx->message_type = FKO_CLIENT_TIMEOUT_NAT_ACCESS_MSG;    }    else        if(ctx->message_type != FKO_LOCAL_NAT_ACCESS_MSG)            ctx->message_type = FKO_NAT_ACCESS_MSG;    return(FKO_SUCCESS);}
开发者ID:haron,项目名称:fwknop,代码行数:55,


示例19: fko_get_spa_nat_access

/* Return the SPA message data.*/intfko_get_spa_nat_access(fko_ctx_t ctx, char **nat_access){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *nat_access = ctx->nat_access;    return(FKO_SUCCESS);}
开发者ID:shinsec,项目名称:fwknop,代码行数:14,


示例20: fko_spa_data_final

/* Final update and encoding of data in the context. * This does require all requisite fields be properly * set.*/intfko_spa_data_final(fko_ctx_t ctx,    const char * const enc_key, const int enc_key_len,    const char * const hmac_key, const int hmac_key_len){    char   *tbuf;    int     res = 0, data_with_hmac_len = 0;    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(enc_key_len < 0)        return(FKO_ERROR_INVALID_KEY_LEN);    res = fko_encrypt_spa_data(ctx, enc_key, enc_key_len);    /* Now calculate hmac if so configured    */    if (res == FKO_SUCCESS && ctx->hmac_type != FKO_HMAC_UNKNOWN)    {        if(hmac_key_len < 0)            return(FKO_ERROR_INVALID_KEY_LEN);        if(hmac_key == NULL)            return(FKO_ERROR_INVALID_KEY_LEN);        res = fko_set_spa_hmac(ctx, hmac_key, hmac_key_len);        if (res == FKO_SUCCESS)        {            /* Now that we have the hmac, append it to the             * encrypted data (which has already been base64-encoded             * and the trailing '=' chars stripped off).            */            data_with_hmac_len                = ctx->encrypted_msg_len+1+ctx->msg_hmac_len+1;            tbuf = realloc(ctx->encrypted_msg, data_with_hmac_len);            if (tbuf == NULL)                return(FKO_ERROR_MEMORY_ALLOCATION);            strlcat(tbuf, ctx->msg_hmac, data_with_hmac_len);            ctx->encrypted_msg     = tbuf;            ctx->encrypted_msg_len = data_with_hmac_len;        }    }    return res;}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:56,


示例21: fko_set_spa_server_auth

/* Set the SPA Server Auth data*/intfko_set_spa_server_auth(fko_ctx_t ctx, const char * const msg){    /****************************************     *   --DSS This is not supported yet     ****************************************    */    //return(FKO_ERROR_UNSUPPORTED_FEATURE);#if HAVE_LIBFIU    fiu_return_on("fko_set_spa_server_auth_init", FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Context must be initialized.    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    /* Gotta have a valid string.    */    if(msg == NULL || strnlen(msg, MAX_SPA_SERVER_AUTH_SIZE) == 0)        return(FKO_ERROR_INVALID_DATA_SRVAUTH_MISSING);    /* --DSS XXX: Bail out for now.  But consider just     *            truncating in the future...    */    if(strnlen(msg, MAX_SPA_SERVER_AUTH_SIZE) == MAX_SPA_SERVER_AUTH_SIZE)        return(FKO_ERROR_DATA_TOO_LARGE);    /* --DSS TODO: ???     * Do we want to add message type and format checking here     * or continue to leave it to the implementor?    */    /**/    /* Just in case this is a subsquent call to this function.  We     * do not want to be leaking memory.    */    if(ctx->server_auth != NULL)        free(ctx->server_auth);    ctx->server_auth = strdup(msg);    ctx->state |= FKO_DATA_MODIFIED;    if(ctx->server_auth == NULL)        return(FKO_ERROR_MEMORY_ALLOCATION);    return(FKO_SUCCESS);}
开发者ID:alteman,项目名称:fwknop,代码行数:53,


示例22: fko_get_spa_digest_type

/* Return the SPA digest type.*/intfko_get_spa_digest_type(fko_ctx_t ctx, short *digest_type){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(digest_type == NULL)        return(FKO_ERROR_INVALID_DATA);    *digest_type = ctx->digest_type;    return(FKO_SUCCESS);}
开发者ID:haron,项目名称:fwknop,代码行数:17,


示例23: fko_get_spa_digest

intfko_get_spa_digest(fko_ctx_t ctx, char **md){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(md == NULL)        return(FKO_ERROR_INVALID_DATA);    *md = ctx->digest;    return(FKO_SUCCESS);}
开发者ID:haron,项目名称:fwknop,代码行数:15,


示例24: fko_get_raw_spa_digest

intfko_get_raw_spa_digest(fko_ctx_t ctx, char **md){#if HAVE_LIBFIU    fiu_return_on("fko_get_raw_spa_digest_init", FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *md = ctx->raw_digest;    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:15,


示例25: fko_get_rand_value

/* Return the current rand value.*/intfko_get_rand_value(fko_ctx_t ctx, char **rand_value){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(rand_value == NULL)        return(FKO_ERROR_INVALID_DATA);    *rand_value = ctx->rand_val;    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:17,


示例26: fko_set_raw_spa_digest

intfko_set_raw_spa_digest(fko_ctx_t ctx){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    /* Must have encoded message data to start with.    */    if(ctx->encrypted_msg == NULL)        return(FKO_ERROR_MISSING_ENCODED_DATA);    return set_digest(ctx->encrypted_msg, &ctx->raw_digest,        ctx->raw_digest_type, &ctx->raw_digest_len);}
开发者ID:haron,项目名称:fwknop,代码行数:16,


示例27: fko_get_raw_spa_digest_type

/* Return the SPA digest type.*/intfko_get_raw_spa_digest_type(fko_ctx_t ctx, short *raw_digest_type){#if HAVE_LIBFIU    fiu_return_on("fko_get_raw_spa_digest_type_init",            FKO_ERROR_CTX_NOT_INITIALIZED);#endif    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    *raw_digest_type = ctx->raw_digest_type;    return(FKO_SUCCESS);}
开发者ID:DigitalDJ,项目名称:fwknop,代码行数:18,


示例28: fko_set_spa_data

/* Set the fko SPA encrypted data.*/intfko_set_spa_data(fko_ctx_t ctx, char *enc_msg){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return FKO_ERROR_CTX_NOT_INITIALIZED;    /* First, add the data to the context.    */    ctx->encrypted_msg = strdup(enc_msg);    if(ctx->encrypted_msg == NULL)        return(FKO_ERROR_MEMORY_ALLOCATION);    return(FKO_SUCCESS); }
开发者ID:maxkas,项目名称:fwknop,代码行数:18,


示例29: fko_set_spa_hmac_type

/* Set the HMAC type*/intfko_set_spa_hmac_type(fko_ctx_t ctx, const short hmac_type){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(hmac_type < 0 || hmac_type >= FKO_LAST_HMAC_MODE)        return(FKO_ERROR_INVALID_DATA_HMAC_TYPE_VALIDFAIL);    ctx->hmac_type = hmac_type;    ctx->state |= FKO_HMAC_MODE_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:blair,项目名称:fwknop,代码行数:19,


示例30: fko_set_spa_encryption_type

/* Set the SPA encryption type.*/intfko_set_spa_encryption_type(fko_ctx_t ctx, const short encrypt_type){    /* Must be initialized    */    if(!CTX_INITIALIZED(ctx))        return(FKO_ERROR_CTX_NOT_INITIALIZED);    if(encrypt_type < 0 || encrypt_type >= FKO_LAST_ENCRYPTION_TYPE)        return(FKO_ERROR_INVALID_DATA);    ctx->encryption_type = encrypt_type;    ctx->state |= FKO_ENCRYPT_TYPE_MODIFIED;    return(FKO_SUCCESS);}
开发者ID:agreen,项目名称:fwknop,代码行数:19,



注:本文中的CTX_INITIALIZED函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CTX_data_active_object函数代码示例
C++ CTXMALLOC函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。