社区
C语言
帖子详情
C语言编写dll文件(急急急 ,在线等)
lawrendc
2011-01-12 09:32:33
hi,我想将C语言的程序编写成可供其他语言调用的dll文件,在其他语言环境里只需要声明下就可以调用。另外问句,C语言里可以执行rundll32.exe 打开图片浏览程序的吗?谢谢
...全文
402
15
打赏
收藏
C语言编写dll文件(急急急 ,在线等)
hi,我想将C语言的程序编写成可供其他语言调用的dll文件,在其他语言环境里只需要声明下就可以调用。另外问句,C语言里可以执行rundll32.exe 打开图片浏览程序的吗?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ls251544415
2011-01-12
打赏
举报
回复
2005没试过,我是从VS2008开始用的,现在使用的是VS2010
写纯C代码的配置方法如下:
1.建立一个c++项目,将打开项目属性
2." 配置属性 "
3." C/C++ "
4." 高级 "
5." 编译为 " 选择 "默认值" 或 "编译为 C 代码 (/TC)"
6.将新建的*.cpp文件改成*.c文件
注意:第6中
选"默认值"时,表示:编译环境有代码文件决定(.cpp决定C++,.c决定C)【.cpp或.c都可以是作为代码文件】
选"编译为 C 代码 (/TC)"时,编译环境当然就是C啦【只允许.c作为代码文件】
2005没试过,LZ试试,微软的产品都是向上兼容的,应该八九不离十吧
lawrendc
2011-01-12
打赏
举报
回复
[Quote=引用 11 楼 ls251544415 的回复:]
用微软的VS啊,很好很强大
[/Quote]
VS 2005 里可以编C语言的?我怎么只看到C++
ls251544415
2011-01-12
打赏
举报
回复
用微软的VS啊,很好很强大
lawrendc
2011-01-12
打赏
举报
回复
[Quote=引用 1 楼 ls251544415 的回复:]
LZ用的什么开发工具?
[/Quote]
大家通常都用什么开发工具的? 我就临时需要写个简单的dll供mapbasic调用
lawrendc
2011-01-12
打赏
举报
回复
[Quote=引用 8 楼 smartlean 的回复:]
http://neye.blog.hexun.com/380387_d.html
这个可以有~
[/Quote]
谢谢 先看看
smartlean
2011-01-12
打赏
举报
回复
http://neye.blog.hexun.com/380387_d.html
这个可以有~
lawrendc
2011-01-12
打赏
举报
回复
谢谢各位 ,完了 C好多都看不懂了
lhy
2011-01-12
打赏
举报
回复
找个合适的编译器,然后开始写代码。
jues
2011-01-12
打赏
举报
回复
/* jues.h */
/*
// (C/C++调用)
#include "jues.h"
#pragma comment(lib,"jues.lib")
//////////////////////////////////////////////////////////////////////////////////
// (VB调用)
Private Declare Sub <函数名> Lib "jues.dll" <(参数)>
//下面是调用jues_Call的一个例子
Private Declare Sub jues_Call Lib "jues.dll" (ByVal a As String)
Private Sub Command1_Click()
jues_Call ("explorer.exe")
End Sub
//多线程调用
Private Declare Sub jues_Thread Lib "jues.dll" (ByVal p_address As Long) '函数名( 如果有参数的话可以用 ByVala As String )
Private Sub Command1_Click()
jues_Thread AddressOf aa 'AddressOf是取址符
End Sub
*/
#include < stdio.h > //标准c
#include <windows.h> //windows
#include <assert.h> //调试
#include<winsock.h> //网络
#include <tlhelp32.h> //进程
#include <shlobj.h>
#ifndef CSIDL_PROGRAM_FILES
#define CSIDL_PROGRAM_FILES 0x0026
#endif
#ifndef LIB_H
#define LIB_H
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#define H_JUES_DLL_VIEW "jues(小幽) 的日常笔记,联系方式\nEmail: jue_s@live.cn"
#define H_EXPORT_D __declspec(dllexport) int __stdcall
#define H_EXPORT_B __declspec(dllexport) BOOL __stdcall
#define H_EXPORT_V __declspec(dllexport) void __stdcall
#define H_EXPORT __declspec(dllexport)
#define H_FREE_DISK_SIZE 1
#define H_ALL_DISK_SIZE 0
#define H_DATE_PATH "\\_________jues__________"
struct o_call_shell
{
BOOL b_one;
char c_path[ 256 ];
char cmd_line[ 256 ];
};
struct o_jues_sz //字符串
{
char c_sz[ 256 ];
};
BOOL jues_system_App_folder( char c_path[ 256 ] ); /*获取系统软件安装目录*/
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call,LPVOID lpReserved);/* dll入口函数 */
//BOOL __b_jues_share_data;// TRUE 为关闭( 默认开启 ); //是否开否进程间数据同步
/* 14:53 2010-12-62 */
H_EXPORT_V jues_shell( const char *p_c_path, const char *p_cmd_line,const int d_shell_type);/*运行一个进程
( *p_c_path 进程模块路径,*p_cmd_line 进程的命令行,
d_shell_type 运行在类型
1( WinLogon 方式,如后台运行 )
2( Default 正常交互 )
3( Screen saver 系统空闲的时候,运行屏保的桌面. )
)
*/
]//................这里太多了就不写了
#ifdef __cplusplus
}
[color=#FF0000]
]#endif /* end of __cplusplus */
#endif
[/color
yiruirui0507
2011-01-12
打赏
举报
回复
http://www.blogjava.net/wxb_nudt/archive/2007/09/11/144371.html
收藏的文章,分享给楼主!!!
bdmh
2011-01-12
打赏
举报
回复
写标准windows的dll,那样可以供其他程序方便的调用
乐CC
2011-01-12
打赏
举报
回复
这个...
你想写DLL,建议你去看“动态链接库”的书籍,孙鑫老师的书里也写的很详细
至于你想在C中运行其他程序,可以启动进程来完成,也可以调用批处理,都可以
ls251544415
2011-01-12
打赏
举报
回复
LZ用的什么开发工具?
the_venus
2011-01-12
打赏
举报
回复
你找一下有一本书叫《windows动态链接库编程》,里面对动态链接库的知识讲得很细的,相信对你一定有用的。书不厚,几十页吧,我记得,还是很精典的。
wangchensong
2011-01-12
打赏
举报
回复
你可以call 就是用dos的命令 在
c中就是 system("call ......");
应该是 你百度一下吧
C
语言
--视频精讲
C
语言
作为被长期使用的编程
语言
,可以被运用到各种操作系统,游戏,开发中。本课程作为互联网上首家使用C99录制的C
语言
教程,展现了全面、专业。标准的C
语言
教程。可以帮助学员从基础开始一点点的深刻理解C
语言
。
Network Thread
怎样让控制台程序也能处理消息?到底这样可以吗?请高手指点。我在多线程中使用CSocket的,怎么老是出错,请大家帮我看看!VC中使用IXMLHTTPRequest获取URL信息的问题,有代码*********************************************如何通过IXMLHTTPRequest下载
文件
?300分请教如何向DNS查询MX记录(SDK+socket)那位仁兄有在
一个C++程序员的学习经历
原文出处:http://www.uml.org.cn/success/201304082.asp 正在上网的时候有这个念头的,所以
急
急
忙忙找了一些学习编程的高人的感想: 我开始学VC时就是自己一个人在啃,也没什么人指导,当时没有条件上网,资料特别少,在书店里随便买本书就学了,在学VC的过程中走了许多弯路,现在回想起来觉得做了很多无用功。看见大家在这里畅所欲言,有高手也有新入门的ddmm
c++路线
正在上网的时候有这个念头的,所以
急
急
忙忙找了一些学习编程的高人的感想: 我开始学VC时就是自己一个人在啃,也没什么人指导,当时没有条件上网,资料特别少,在书店里随便买本书就学了,在学VC的过程中走了许多弯路,现在回想起来觉得做了很多无用功。看见大家在这里畅所欲言,有高手也有新入门的ddmm,我也来谈谈学VC的一点“捷径”吧,这条“捷径”纯粹走的是C/C++的路子,不考虑学习其他
语言
。(我只会C/
技术
2011.10.9异步与多线程的使用场景 当需要执行I/O操作时,使用异步操作比使用线程+同步 I/O操作更合适。I/O操作不仅包括了直接的
文件
、网络的读写,还包括数据库操作、Web Service、HttpRequest以及.net Remoting等跨进程的调用。而线程的适用范围则是那种需要长时间CPU运算的场合,例如耗时较长的图形处理和算法执行。但是往 往由于使用线程编程
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章