应用程序无法正常启动0xc0000005是设置错误造成的,解决方法为:
1、首先百度搜索DirectX修复工具下载下来(最好为增强版),软件为绿色免费版,不用担心注册问题。
2、软件解压或安装完成后选择对应自己电脑版本的软件打开。
3、打开软件之后点击检测并修复。
4、DirectX修复工具会检测丢失的dll文件并进行修复。
5、DirectX修复工具修复完成后会有提示,这时我们重启电脑应用程序无法正常启动0xc0000005就解决了。
我将你的程序格式进行了修改,随便提醒一下,你的程序有格式,但不够规范。我改后是否觉得读起来顺畅一些,我的原则,没有好的格式,你成不了好的程序员。#include#include#include#include#include#definePT"工号:%ld姓名:%s基本工资:%02f补贴金额:%02f奖励金额:%02f扣除金额:%02f\n",gz->num,gz->name,gz->baswages,gz->allowance,gz->reward,gz->deduct#defineNsizeof(structInfo)structInfohead;typedefstructInfo{longnum;charname[25];floatbaswages;floatallowance;floatreward;floatdeduct;floatreality;structInfonext;}type;voidLogoIn(){printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t|----欢迎使用员工工资管理系统----|\n");printf("\t\t\t/--------------------------------\\\n");}voidLogoOut(){printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t|----感谢使用员工工资管理系统----|\n");printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t\t\t\t制作人:软件0903谢松均\n");printf("\t\t\t\t\t\t完成日期:2010年09月25日\n");}structInfoadd(void){typep1,p2;head=p2=(type)malloc(N);p1=(type)malloc(N);printf("|员工号|姓名|基本工资|补贴金额|奖励金额|扣除金额|\n");scanf("%ld%s%f%f%f%f",&p1->num,p1->name,&p1->baswages,&p1->allowance,&p1->reward,&p1->deduct);while(p1->num!=0){p2->next=p1;p2=p1;p1=(type)malloc(N);scanf("%ld%s%f%f%f%f",&p1->num,p1->name,&p1->baswages,&p1->allowance,&p1->reward,&p1->deduct);}p2->next=NULL;free(p1);returnhead;}voidScreenOut(typegz){gz=gz->next;while(gz!=NULL){printf(PT);gz=gz->next;}}structInfofind(typegz)//这里的函数类型最好是逻辑型,成功返回真,否则返回假{intchoose;longnum;chars[25];printf("请选择查询方式:\n(1):姓名查询\n(2):工号查询\n");scanf("%d",&choose);switch(choose){case1:{printf("请输入对方的姓名:");scanf("%s",s);while(gz->next!=NULL);{if((strcmp(s,gz->name))==0){printf(PT);returngz;}}printf("\n没找到!\n");//返回???system("cls");}eak;case2:printf("请输入对方的工号:");scanf("%ld",&num);while(gz->next!=NULL){gz=gz->next;if(gz->num==num){printf(PT);returngz;}}printf("\n没找到!\n");//返回???system("cls");eak;}return0;//对于 *** 作失败,需要你返回对应代码?}voidalter(typegz){intchoose;longnum;charname[25];floatbaswages;floatallowance;floatreward;floatdeduct;gz=find(head);printf("请选择你想修改的内容:1工号2姓名3基本工资4补贴金额5奖励金额6扣除金额\n");scanf("%d",&choose);switch(choose){case1:printf("请输入你想修改的工号:");scanf("%ld",&num);gz->num=num;printf("\n修改后该员工的资料为:");printf(PT);eak;case2:printf("请输入你想修改的姓名:");scanf("%s",name);strcpy(gz->name,name);printf("\n修改后该员工的资料为:");printf(PT);eak;case3:printf("请输入你想修改的基本工资:");scanf("%f",&baswages);gz->baswages=baswages;printf("\n修改后该员工的资料为:");printf(PT);eak;case4:printf("请输入你想修改的补贴金额:");scanf("%f",&allowance);gz->allowance=allowance;printf("\n修改后该员工的资料为:");printf(PT);eak;case5:printf("请输入你想修改的奖励金额:");scanf("%f",&reward);gz->reward=reward;printf("\n修改后该员工的资料为:");printf(PT);eak;case6:printf("请输入你想修改的扣除金额:");scanf("%f",&deduct);gz->deduct=deduct;printf("\n修改后该员工的资料为:");printf(PT);eak;default:printf("输入有误,按任意键退出!");getch();system("cls");eak;}}structInfodel(typegz)//这里同上?你看{typep;intchoose;longnum;charc,s[25];p=gz->next;printf("请选择查询方式:\n(1):姓名查询\n(2):工号查询\n");scanf("%d",&choose);switch(choose){case1:printf("请输入对方的姓名:");scanf("%s",&s);while(p!=NULL){if((strcmp(s,p->name))==0){printf("信息已找到");printf("是否要删除此条信息是回'Y',不是回'N'。\n");c=getch();if(c=='Y'&&c=='y'){gz->next=p->next;free(p);returngz;}elseprintf("没找到!");}}eak;case2:printf("请输入对方的工号:");scanf("ld",&num);while(p!=NULL){if(p->num==num){printf("信息已找到");printf("是否要删除此条信息是回'Y',不是回'N'。\n");c=getch();if(c=='Y'&&c=='y'){gz->next=p->next;free(p);returngz;}elseprintf("没找到!");}}eak;}return0;//对于 *** 作失败,需要你返回对应代码?}voidScreenIn(void){intchoose;printf("功能选项:1添加2修改3显示4查找5删除6统计0退出\n");printf("你的选择是:");scanf("%d",&choose);switch(choose){case1:{head=add();printf("添加已结束\n");printf("请按任意键继续");getch();system("cls");}eak;case2:alter(head);printf("修改已结束");printf("请按任意键继续");getch();system("cls");eak;case3:ScreenOut(head);printf("信息已全部显示");printf("请按任意键继续");getch();system("cls");eak;case4:find(head);printf("查找已结束");printf("请按任意键继续");getch();system("cls");eak;case5:del(head);printf("删除已结束");printf("请按任意键继续");getch();system("cls");eak;case6:case0:system("cls");LogoOut();exit(1);eak;default:printf("非法字符\n");printf("请按任意键继续\n");getch();system("cls");eak;}}voidmain(){while(1){LogoIn();ScreenIn();}}
#include
<windowsh>
#include
<iostreamh>
/
功能:使文件开机自动运行
思路:
获取文件的路径,将文件拷贝到系统文件夹之下;
在注册表中注册文件路径,使其开机自动运行。
提示:
如果要隐藏,另外可以在以上执行完毕之后,删除原始文件
当然,还可以通过注册程序为系统服务,使其开机自动运行
删除:
在执行程序之后,执行以下 *** 作,使系统恢复原状:
1
删除
C:\WINDOWS\system32\yourvirusexe
2
打开注册表:
[HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
删除键:Writing
to
the
Registry
Example
/
void
main()
{
char
system[MAX_PATH];
//系统目录路径
char
pathtofile[MAX_PATH];
//要开机运行的文件的完整路径
HMODULE
GetModH
=
GetModuleHandle(NULL);
//得到当前执行文件的全路径
GetModuleFileName(GetModH,pathtofile,sizeof(pathtofile));
//得到系统文件所在目录的路径,如c:\windows\system32
GetSystemDirectory(system,sizeof(system));
//形成要复制到的全路径,如c:\windows\system32\yourvirusexe
strcat(system,"\\yourvirusexe");
//自我复制到目标路径
CopyFile(pathtofile,system,false);
//写入注册表,以便开机自动运行
HKEY
hKey;
//打开注册表:路径如下
//HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey
);
//新增一个值,名称随意命名,值为要开机运行的文件的完整路径
RegSetValueEx(hKey,
"Writing
to
the
Registry
Example",
0,REG_SZ,(const
unsigned
char)system,sizeof(system));
//关闭注册表:
RegCloseKey(hKey);
/可以加入其他功能/
}
明白了,那下边这段代码正好是你要的,有点类似多线程并发执行的感觉,你试试看把
#include <dosh>
#include <stdioh>
#include <stdlibh>
#ifdef _WIN32
#include <windowsh>
#else
#include <timeh>
#endif
int main(){
int i;
#ifdef _WIN32
system("start ping 192168100101 -t");
#else
system("xterm -hold -e ls -l &");
#endif
for(i = 0; i < 1000; i++) {
#ifdef _WIN32
Sleep(1000);
#else / UNIX /
struct timespec ts;
tstv_sec = 1;
nanosleep(&ts, &ts);
#endif
printf("%d\n", i);
}
}
1、预处理
在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。
根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。
GCC预处理阶段可以生成i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o helloi helloc
2、编译
这一阶段,编译器对源码进行词法分析、语法分析、优化等 *** 作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。
可以通过选项-S使GCC在进行完编译后停止,生成s的汇编程序。例如:gcc -S -o hellos helloc
3、汇编
这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为o的目标文件中。
当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成o目标文件后,才能进入下一步的链接工作。
目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o helloo helloc
4、链接
经过汇编以后的机器代码还不能直接运行。为了使 *** 作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello helloc
5、运行:执行EXE文件,得到运行结果。
有几种可能。
一是生成出错,并未生成文件。
二是项目设置有问题,点击菜单“项目”-》XXX项目属性,检查常规、调试、链接器-》常规-》输出文件,看这几个关于输出文件的设置是否正确。若“输出文件”的路径并不是调试路径的话,会导致以上错误。
电脑开机自动启动,无非也就是那几个地方,
你可以放到,
1,开始菜单的启动项目中
2,你可以放到注册表中的,两个 RUN启动项目中,
3,你可以放到winini等配置文件中,
4,你可以加入到底层服务管理中,
5,你还可以替换或者附加到某些程序,如,explorer
6,你甚至还可以替换引导MBR,驻留到内存中,
方法多的是。
以上就是关于应用程序无法正常启动0xc0000005全部的内容,包括:应用程序无法正常启动0xc0000005、c语言无法启动程序C:\Users\Administrator\Desktop\win32project5\debug\win32project.exe、如何用C/C++实现让自己编译的程序开机自启动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)