不知道该建那种类型的新项目

seekg 2006-07-27 05:57:32
我有一堆用c写的代码(下面给出其中两个文件的不完整版),文件名为*.c、*.h,现在想在vs6.0和vs2003了建一个项目,把这些文件加进来,在其基础上作不多的修改,然后编译成一个动态链接库。
问题是:我不知道该建什么类型的项目,c++的项目种类太多了,我想应该不用ATL和MFC类库吧,谁做过类似的工作,告诉我一个具体的吧。比如vc6.0上的那个项目类型或vs2003上的哪个项目类型。
-------------------------
C代码样例
+++++++++++++++++++++++++++++++
/* 文件名为 *.h */
#ifdef __cplusplus
extern "C" {
#elif defined(__SUNPRO_C)
# if __SUNPRO_C >= 0x520
# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE)
# endif
#endif
typedef enum {
/* values as defined in X9.62 (ECDSA) and elsewhere */
POINT_CONVERSION_COMPRESSED = 2,
POINT_CONVERSION_UNCOMPRESSED = 4,
POINT_CONVERSION_HYBRID = 6
} point_conversion_form_t;
typedef struct ec_method_st EC_METHOD;
int EC_POINTs_make_affine(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *);
...
#ifdef __cplusplus
}
#endif
#endif
+++++++++++++++++++++++++++++++++
/* 文件名为 *.c */
#include <string.h>
#include <openssl/err.h>
#include "ec_lcl.h"

typedef struct ec_pre_comp_st {
const EC_GROUP *group; /* parent EC_GROUP object */
size_t blocksize; /* block size for wNAF splitting */
size_t numblocks; /* max. number of blocks for which we have precomputation */
size_t w; /* window size */
EC_POINT **points; /* array with pre-calculated multiples of generator:
* 'num' pointers to EC_POINT objects followed by a NULL */
size_t num; /* numblocks * 2^(w-1) */
int references;
} EC_PRE_COMP;
static void *ec_pre_comp_dup(void *);
static void ec_pre_comp_free(void *);
static void ec_pre_comp_clear_free(void *);

static EC_PRE_COMP *ec_pre_comp_new(const EC_GROUP *group)
{
EC_PRE_COMP *ret = NULL;

if (!group)
return NULL;

ret = (EC_PRE_COMP *)OPENSSL_malloc(sizeof(EC_PRE_COMP));
if (!ret)
return ret;
ret->group = group;
ret->blocksize = 8; /* default */
ret->numblocks = 0;
ret->w = 4; /* default */
ret->points = NULL;
ret->num = 0;
ret->references = 1;
return ret;
}

int ec_wNAF_have_precompute_mult(const EC_GROUP *group)
{
if (EC_EX_DATA_get_data(group->extra_data, ec_pre_comp_dup, ec_pre_comp_free, ec_pre_comp_clear_free) != NULL)
return 1;
else
return 0;
}
...全文
144 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
seekg 2006-07-28
  • 打赏
  • 举报
回复
vs2003里建vc++项目,没有win32 dynamic-link library,只有win32控制台项目或win32项目,选那个?
hhyytt 2006-07-28
  • 打赏
  • 举报
回复
win32 dll.
写上输出函数接口就行了.
wildzibra 2006-07-28
  • 打赏
  • 举报
回复
win32 dynamic-link library
seekg 2006-07-28
  • 打赏
  • 举报
回复
jixingzhong:没有win console dll,只有win console application
jixingzhong 2006-07-27
  • 打赏
  • 举报
回复
win console dll, 选择空工程,添加文件代码, 修改, 编译 OK ...

在头文件中修改一下,
需要导出的函数加符号修饰 ...

为了在使得头文件在导入导出时候都可用,
可以用宏控制,类似这样:
#ifndef IMPORT
#define XXX __declspec( dllexport )
#else
#define XXX __declspec( dllimport )
#endif

XXX int EC_POINTs_make_affine(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *);
...

需要导出导入的函数加这个 XXX ...
skyremember 2006-07-27
  • 打赏
  • 举报
回复
win32 dll,很简单的
mynamelj 2006-07-27
  • 打赏
  • 举报
回复
新建win32 DLL工程,把那些函数导出就行了
seekg 2006-07-27
  • 打赏
  • 举报
回复
同样的问题,有300分可得,都是我开的,没把握的答案别写,我时间挺紧的
http://community.csdn.net/Expert/topic/4909/4909789.xml?temp=.8378107
http://community.csdn.net/Expert/topic/4909/4909801.xml?temp=.2222559
http://community.csdn.net/Expert/topic/4909/4909806.xml?temp=.4308283
seekg 2006-07-27
  • 打赏
  • 举报
回复
控制台程序能编成.dll文件吗
思危 2006-07-27
  • 打赏
  • 举报
回复
控制台程序即可
Elysium 2006-07-27
  • 打赏
  • 举报
回复
你可以创建Win32 Dynamic-Link Library
MFC AppWizard(dll)需要mfc库支持,可以创建带对话框等界面的dll,似乎不需要
snowbirdfly 2006-07-27
  • 打赏
  • 举报
回复
然后将自己写的*.h和*.cpp加进去就可以了~~~
snowbirdfly 2006-07-27
  • 打赏
  • 举报
回复
建Win32 Console Application~~~

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧