`
netalpha
  • 浏览: 81732 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

class COREDLL解释

    博客分类:
  • cg
阅读更多

class COREDLL Fresnel {
public:
    // Fresnel Interface
    virtual ~Fresnel();
    virtual Spectrum Evaluate(float cosi) const = 0;
};
 

是这样的,这是一个Dll工程,对于dll本身工程来说,他需要导出数据,工程默认下定义了CORE_SOURCE(依次打开“工程-》属性-》配置属性-》C++-》预处理”,可以看到,我用的英文版,翻译可能有出入) 
这个时候: 

#ifdef WIN32 
#ifdef CORE_SOURCE//由于定义了CORE_SOURCE 
#define COREDLL __declspec(dllexport)  //这个有效 
#else 
#define COREDLL __declspec(dllimport)    //这个无效 
#endif 
 故这个时候CORE_SOURCE代表__declspec(dllexport),即导出数据 
对于其他工程而言,可能需要用到这个dll的导出数据,这个时候就应该导入CORE_SOURCE工程,由于其他工程没有定义CORE_SOURCE,这个时候: 
#ifdef WIN32 
#ifdef CORE_SOURCE//由于没有定义CORE_SOURCE 
#define COREDLL __declspec(dllexport)  //这个无效 
#else 
#define COREDLL __declspec(dllimport)    //这个有效 
于是COREDLL代表__declspec(dllimport) 即导入数据 
这样可以方便的导入导出数据。 
如果你还不懂什么叫导入、导出数据,对dll不熟悉的话,找本书看吧。 

0
0
分享到:
评论

相关推荐

    C#生成CoreDll实现WCF双工实现聊天程序

    首先,我们需要理解C#中的类库项目(Class Library Project),在这里被称为CoreDll库。这是一个静态库,包含了可重用的代码和逻辑,可以被多个应用程序引用。在本例中,CoreDll库可能包含了处理聊天功能的核心逻辑...

    WINCE程序调用笔针校准界面C#源码

    public class TouchCalibration { [DllImport("coredll.dll")] public static extern void CeCalibrateTouch(); public static void Main() { Console.WriteLine("启动笔针校准..."); CeCalibrateTouch(); ...

    用VB.net实现Smartphone中进程启动

    在VB6中,我们可以方便地使用ShellExecuteEx和CreateProcess等API函数来启动进程,但在VB.NET中,我们需要手动声明并处理这些API,同时解决Win CE的核心API位于coredll.dll库以及字符编码问题。 首先,我们需要了解...

    修改wince的系统时间,修改年月日时分秒

    public class TimeManager { // 导入Coredll.dll中的函数 [DllImport("Coredll.dll")] public static extern void GetLocalTime(SystemTime st); [DllImport("Coredll.dll")] public static extern void ...

    去掉Windows CE和 Pocket PC中和OK按钮

    public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } /// /// 隐藏OK按钮 /// /// <param name="hWnd"></param> /// <param name="dwState"></param> /// <returns>...

    C#播放音频文件源代码

    class MusicPlay { private string filename; private string m = @""; private long t; [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)] private static extern long ...

    触摸屏检查,C#,mobile

    class TouchscreenProgram { static void Main(string[] args) { MessageBox.Show("Touchscreen:" + (PlatformDetection.IsTouchScreen() ? "Yes" : "No")); } } ``` ### 总结 本文通过对给定代码的详细分析,...

    Physically Based Rendering From Theory To Implementation 基于物理的渲染,第六章

    class COREDLL Camera { public: // 公共数据成员和构造函数 Camera() { /* ... */ } protected: // 受保护的数据成员 }; // 必须实现的方法 virtual float GenerateRay(const Sample &sample, Ray *ray) const...

    wince下,如何强制关闭正在使用的进程

    public class SECURITY_ATTRIBUTES { public int nLength; public int lpSecurityDescriptor; public int bInheritHandle; } ``` 然后是关键的逻辑部分: ```csharp private const int ERROR_ALREADY_EXISTS = ...

    getdeviceid in wince

    public class DeviceID : System.Windows.Forms.Form { public DeviceID() { InitializeComponent(); } protected override void Dispose(bool disposing) { base.Dispose(disposing); } private static ...

    WINDOWS CE.NET (WINCE)下电量读取函数VB.NET

    ("coredll.dll", SetLastError:=True)> Private Shared Function GetSystemPowerStatusEx(ByRef lpSystemPowerStatus As PowerStatus, ByVal fUpdate As Boolean) As Boolean End Function Public Class ...

    pda电池管理+c#源程序

    [DllImport("coredll.dll")] public static extern int CeGetBatteryInfo(out BATTERYINFO batteryInfo); public class BatteryManager { public void GetDetailedBatteryInfo() { BATTERYINFO batteryInfo = ...

    wince任务栏隐藏

    public class TaskbarHider { [DllImport("coredll.dll", SetLastError = true)] private static extern IntPtr FindWindow(string className, string windowTitle); [DllImport("coredll.dll")] private ...

    获得.net控件的windows句柄的方法

    代码如下:class WinAPI{ [DllImport(“coredll.dll”)] private static extern IntPtr SetCapture(IntPtr hWnd);  [DllImport(“coredll.dll”)] private static extern IntPtr GetCapture();    public ...

    带你认识WinCEDisplay驱动开发.pdf

    class MyDisplayDriver : public GPERotate { // 实现具体的函数 }; ``` 2. **实现GetGPE()函数**:该函数用于将自定义的Display驱动实例返回给上层的DDI接口。 ```cpp GPE* GetGPE() { return static_cast...

    Window Mobile 短信获取 C#

    [DllImport("coredll.dll")] private static extern int CeRILSMessaging_OpenMessageStore(int lpszStore, int lpszFolder, int dwAccess, out int phStore); // 其他相关DllImport声明... public void Read...

    Windows Mobile 不待机手电筒

    public class NativeMethods { [DllImport("coredll.dll")] public static extern bool SystemIdleTimerReset(); } // 在需要防止待机的地方调用 NativeMethods.SystemIdleTimerReset(); ``` 在项目"Windows ...

    windows mobile系统消息拦劫

    [DllImport("coredll.dll", SetLastError = true)] private static extern uint RegisterWindowMessage(string lpString); protected override void WndProc(ref Message m) { if (m.Msg == WM_MY_CUSTOM_MSG)...

    wince c#编写的BEEP蜂鸣 源程序

    [DllImport("coredll.dll")] private static extern bool Beep(uint frequency, uint duration); public static void Main() { // 调用Beep函数,发出1000Hz的声音,持续1秒 Beep(1000, 1000); } } ``` 在...

Global site tag (gtag.js) - Google Analytics