pbi与数据库哪个好用,C语言源程序文件的后缀是什么
来源:整理 编辑:黑码技术 2023-11-01 07:50:44
本文目录一览
1,C语言源程序文件的后缀是什么
编译后的可执行程序 : .exe
连接后的 .objC语言源程序文件的后缀是“.C”,经过编译后生成文件的后缀是“.exe”,经过链接后生成文件的后缀“.obj”经过编译后生成的文件后缀是.obj ,而经过连接后生成的后缀是.exe源文件后缀名是.c
编译后,会出现.exe文件,这是在windows系统的可执行文件
编译后的是“.obj”,而链接过后则是".exe"就这样,楼上的虽说的多,但好像跟本不对题。
2,HOOK NtCreateThread 怎么获得 创建进程的命令行参数
PROCESS_BASIC_INFORMATION pbi;PEB2 peb;PROCESS_PARAMETERS ppa;wchar_t pa[255];NtQueryInformationProcess(ProcessHandle,ProcessBasicInformation,(void *) &pbi,sizeof(PROCESS_BASIC_INFORMATION),0);ReadProcessMemory(ProcessHandle,pbi.PebBaseAddress,(void *) &peb,sizeof(PEB2),0);ReadProcessMemory(ProcessHandle,peb.ProcessParameters,(void *) &ppa,sizeof(PROCESS_PARAMETERS),0);ReadProcessMemory(ProcessHandle,ppa.CommandLine.Buffer,pa,ppa.CommandLine.Length,0);
3,求教C高手
Cc++基础知识,面试常见问题
链表与数组的区别
A 从逻辑结构来看
A-1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况当 数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费
A-2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入 删除数据项(数组中插入删除数据项时,需要移动其它数据项)
B 从内存存储来看
B-1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
B-2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦.
一预备知识程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1stack) (Compiler)自动分配释放
2heap) 若程序员不释放,程序结束时可能由OS回收注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵
3static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域 - 程序结束后有系统释放
4 常量字符串就是放在这里的
5
二例子程序
这是一个前辈写的,非常详细全局初始化区
char *p1; 全局未初始化区栈
char s[] = "abc"; 栈
char *p2; 栈
char *p3 = "123456"; 123456\0在常量区,p3在栈上
static int c =0;全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
分配得来得10和20字节的区域就在堆区
strcpy(p1, "123456"); 123456\0p3所指向的"123456"优化成一个地方
}
二堆和栈的理论知识
2.1申请方式
stack:
由系统自动分配例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间
heap:
需要程序员自己申请,并指明大小,在c中malloc函数
如p1 = (char *)malloc(10);
在C++中用new运算符
如p2 = (char *)malloc(10);
但是注意p1p2本身是在栈中的
2.2 申请后系统的响应
栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出
堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,
会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间另外,由于找到的堆结点的大小不一定正好等于申请的大小,系统会自动的将多余的那部分重新放入空闲链表中
我在这里给你答复了,俩都要给分啊
http://wenwen.soso.com/z/q136176226.htmc++ 后缀介绍
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。
.BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
.C:用C语言编写的源代码文件。
.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。
.CNT:用来定义帮助文件中“Contents”的结构。
.CPP或.CXX:用C++语言编写的源代码文件。
.CUR:光标资源文件。
.DEF:模块定义文件,供生成动态链接库时使用。
.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。
.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。

4,关于c编译生成文件
APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。
.BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
.C:用C语言编写的源代码文件。
.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。
.CNT:用来定义帮助文件中“Contents”的结构。
.CPP或.CXX:用C++语言编写的源代码文件。
.CUR:光标资源文件。
.DEF:模块定义文件,供生成动态链接库时使用。
.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。
.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
.HLP:Windows帮助文件。
.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
.HPG,生成帮助的文件的工程。
.ICO:图标资源文件。
.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
.INI:配置文件。
.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。
.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。
.MDP:旧版本的项目文件,相当于.dsp
.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。
.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。
.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
.PLG:编译信息文件,编译时的error和warning信息文件。
.RC:资源定义文件。
.RC2:资源定义文件,供一些特殊情况下使用。
.REG:注册表信息文件。
.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。
.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。
.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。
.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。
debug 包里面有生成的可执行文件,及有关链接库的一些信息,调试信息等在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
>
知识扩展:
=================================================
Visual C++作为一种程序设计语言, 它同时也是一个集成开发工具, 提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C++开发应用程序的过程中, 系统为我们生成了大量的各种类型的文件, 在本节中将要详细介绍Visual C++中这些不同类型的文件分别起到什么样的作用, 在此基础上对Visual C++如何管理应用程序所用到的各种文件有一个全面的认识。
首先要介绍的是扩展名为dsw的文件类型, 这种类型的文件在VC中是级别最高的, 称为Workspace文件。在VC中, 应用程序是以Project的形式存在的, Project文件以.dsp扩展名, 在Workspace文件中可以包含多个Project, 由Workspace文件对它们进行统一的协调和管理。
与dsw类型的Workspace文件相配合的一个重要的文件类型是以opt为扩展名的文件, 这个文件中包含的是在Workspace文件中要用到的本地计算机的有关配置信息, 所以这个文件不能在不同的计算机上共享, 当我们打开一个Workspace文件时, 如果系统找不到需要的opt类型文件, 就会自动地创建一个与之配合的包含本地计算机信息的opt文件。
上面提到Project文件的扩展名是dsp, 这个文件中存放的是一个特定的工程, 也就是特定的应用程序的有关信息, 每个工程都对应有一个dsp类型的文件。
以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的, 这些信息是VC中的ClassWizard工具管理和使用类的信息来源。它实际上是INI文件的格式有时候ClassWizard出问题,手工修改CLW 文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建。
对应每个应用程序有一个readme.txt文件, 这个文件中列出了应用程序中用到的所有的文件的信息, 打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识。
在应用程序中大量应用的是以h和cpp为扩展名的文件, 以h为扩展名的文件称为头文件。以cpp为扩展名的文件称为实现文件, 一般说来h为扩展名的文件与cpp为扩展名的文件是一一对应配合使用的, 在h为扩展名的文件中包含的主要是类的定义, 而在cpp为扩展名的文件中包含的主要是类成员函数的实现代码。
在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
最后要介绍的是以rc2为扩展名的文件, 它也是资源文件, 但这个文件中的资源不能在VC的集成环境下直接进行编辑和修改, 而是由我们自己根据需要手工地编辑这个文件。
对于以ico,bmp等为扩展名的文件是具体的资源, 产生这种资源的途径很多。使用rc资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。
以下文件在项目中是可丢弃的,有些文件删除后,VC会自动生成的。
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。
.opt 工程关于开发环境的参数文件。如工具条位置等信息;(可丢弃) 。
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管它。
.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools->Options里面有个选项可以控制这个文件的生成。
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理。
.mdp (Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式。
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度。
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着。
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大。
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用。
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用。
文章TAG:
数据 数据库 哪个 好用 pbi与数据库哪个好用