怎么生成动静态库

如何生成动静态库
我以前在VC6.0下学习如何生成动态库的方法如下:
头文件:
1.h
extern "C" void _declspec(dllexport)WriteLog(int );
1.cpp
void WriteLog(int )
{
////内部实现
}
dll.cpp
void dllmain()
{
/////dllmain内部实现
}
在外引用的方法就是包含1.h  加入LIB,DLL等等就可以使用了。
而今天用的VS2008我发现问题不一样了。
首先在头文件里面不需要加_declspec(dllexport),而直接写成
void WriteLog(int );
并且不再需要dll.cpp这个文件了。其他是一样的。然后在项目属性里把把配置类型改成DLL,就可以编译使用了。我不解啊,我没有写导出这个函数啊,也没有DLLMAIN就可以用,在VC6.0和VC2008上面怎么不一样啊。求大神

------最佳解决方案--------------------
VS2008是将其集合到了AFX_EXT_CLASS中,直接在生成的类上加
如:

class AFX_EXT_CLASS 类名

   .....
   .....
};
------其他解决方案--------------------
project setting genera里选择下static 编译
------其他解决方案--------------------
我想问的是,为什么不需要_declspec(dllexport)和DLLmain也可以啊。我记得是需要的啊。在6.0上面要,在2008上面就不要了。这是什么原因。