我是新手,网上搜了一些教程,学习了一下。都是一血比较大小,再就是helloword这样的动态链接库教程
自己尝试的时候发现在编写动态链接库的时候只有int 、double、void、bool这样类型的变量可以定义。像string之类的不行,我想实现在指定目录的一个 文件里面写入一段东西的功能,做成链接库,然后在我的安装程序里使用。请问这样关于文件操作的链接库可以实现吗?怎么实现,基本找不到资料。

解决方案 »

  1.   

    void* = 任意类型
      

  2.   

    https://msdn.microsoft.com/zh-cn/library/ms235636.aspx
      

  3.   

    如果你要写string这样的stl代码的话,建议你用char数组,或者使用c的malloc、free函数来动态分配char数组进行字符串的保存和操作。我不知道你要写一个什么样的动态库,但如果使用malloc或free时,如果动态库内申请,请在动态库内free。
      

  4.   


    我对C和C++不熟悉,我用的是C#,我做得安装包要选择两个路径,我想把这两个路径记录下来后,写入一个dat文件,我做成动态链接库是因为这样子我就可以直接引用它,然后把两个路径传递给我库里面的函数(比如writePath(string installPath, string servicePath)),这样子也就是关于文件操作的,不知道能否实现。
      

  5.   


    我对C和C++不熟悉,我用的是C#,我做得安装包要选择两个路径,我想把这两个路径记录下来后,写入一个dat文件,我做成动态链接库是因为这样子我就可以直接引用它,然后把两个路径传递给我库里面的函数(比如writePath(string installPath, string servicePath)),这样子也就是关于文件操作的,不知道能否实现。封装成一个工具类不行吗?调用时也很简单啊!
      

  6.   


    这个比较大小的,基本没用。。我看了的,也会写这样的,但是关于文件的操作的不会写
    楼主啊,学会如何问问题,如何表达清楚自己的需求,这是是很重要的事情......
    请google一下《提问的智慧》?
    往文件里写东西,直接用c的fwrite就完了.........参数别用string用const char*
      

  7.   

    bool也不能用,只能是C兼容的类型
      

  8.   

    fopen/fwrite/fclose()
    或是使用Win32 API CreateFile/WriteFile/Close()写文件
      

  9.   


    这个比较大小的,基本没用。。我看了的,也会写这样的,但是关于文件的操作的不会写
    楼主啊,学会如何问问题,如何表达清楚自己的需求,这是是很重要的事情......
    请google一下《提问的智慧》?
    往文件里写东西,直接用c的fwrite就完了.........参数别用string用const char*在问题里已经说了不是只有标题总不能把问题的描述全部放在标题里面吧?
      

  10.   

    string是对象,不是一段内存,不适合作为DLL函数的参数传来传去。
      

  11.   


    我对C和C++不熟悉,我用的是C#,我做得安装包要选择两个路径,我想把这两个路径记录下来后,写入一个dat文件,我做成动态链接库是因为这样子我就可以直接引用它,然后把两个路径传递给我库里面的函数(比如writePath(string installPath, string servicePath)),这样子也就是关于文件操作的,不知道能否实现。封装成一个工具类不行吗?调用时也很简单啊!我也想。。我是用于程序打包过程中路径的传递,在VS中自带的安装设置实现不了,用的setup factory,里面是类pascal。编辑脚本的时候有一个写文件的功能,TextFile.WriteFromString(“要创建的文本.txt”, "要写入文本的字符串",true);可惜在"要写入文本的字符串"里不能传递参数,只能自定义字符串。所以只能引用动态链接库来扩充功能