文件管理 · 2022年8月9日

c添加文件版本号|怎么在linux下的C文件中添加文件信息

㈠ c语言控制台写出来的exe文件的版本信息如何设置

看编译器的设置。build方面。

㈡ 如何利用git 号作为版本号 c++

首先在本地建立一个文件夹命名为manager.然后打开终端,输入cd ,把文件夹拖到cd后面,回车,输入pwd之后再回车,进入到manager文件夹下,然后开始git指令,第一步git init,在本地建立一个空仓库。之后建立一个文件名为mian.c的文件,touch main.c。在mian.c中手动输入一些文字,然后输入git status查看状态。main.c为红色说明main.c被编辑过了,现在继续编辑准备提交输入int b = 2.现在的main.c是存在工作区的,下一步是要把修改的文件添加到暂存区,git add main.c,不过~回车之后并没有什么变化,继续操作,是把暂存区里的main.c添加到本地仓库中,git commit main.c -m添加了b,如果不添加-m的话会少一个配置,会进入到一个vim模式(不可编辑),并且提示你添加一个文件,这时候需要先输入i,下面会出现一个insert,然后编辑你提交的信息,然后按esc键,在按:wq,保存并退出。所以为了不要这么麻烦,直接在后面加上-m和注释就可以了这样说明已经把修改的内容成功提交到本地仓库了!下一步,如果想回到某个版本怎么办看首先git log,看一下日志信息,或者git reflog.git log下可以看到一个40位的哈希值,这里你可以把它当做序列号就好了,也就是你的版本号。而在git reflog下,只显示你版本号的前7位,其实用的时候就用这前7位就够了。如果想回到某个版本,只需要git reset –hard 版本号就可以了在打开你的main.c你会发现他回到了你需要的地方.还有一个指令可以看到你修改的地方:首先编辑你的main.c,然后输入git diff mian.c,你会看到效果的.好了,git建立本地仓库就到这里,还有很多命令没介绍到,以后用的时候还要多多练习!

㈢ VC中如何为exe文件添加版本号

仅供参考:在资源视图中有有一项是Version,可以编辑版本号,公司什么的等信息

㈣ 怎么在linux下的.C文件中添加文件信息

#!/bin/bashn=$##echo$ni=1while(($i<=n))dofilename=${!i}#echo$filenametouch$filenameecho"Filename:$filename">>$filenameechoAuthor:zhz>>$filenameechoDate:(时间是什么这里就是什么)>>$filenameechoDescription:(这里空着)>>$filenamei=`expr$i+1`vim$filenamedone

㈤ 如何增加后每个版本的 Visual c + + 版本信息

若要使用 Visual c + + 编辑器中,单击文件菜单上的打开,并在 MyProject.rc 文件打开方式列表中选择文本。在MyProject.rc 中找到的版本资源语句。它应如下所示://///////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "Sample Application\0" VALUE "CompanyName", "Microsoft Corp.\0" VALUE "FileDescription", "MyProject MFC Application\0" VALUE "FileVersion", "1, 0, 0, 1\0" VALUE "InternalName", "MyProject\0" VALUE "LegalCopyright", "Copyright (C) 1999\0" VALUE "OriginalFilename", "MyProject.EXE\0" VALUE "ProctName", "MyProject Application\0" VALUE "ProctVersion", "1, 0, 0, 1\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END 剪切从 MyProject.rc 文件版本资源并将其粘贴到一则评语下面的 MyProject.rc2 文件"添加手动编辑此资源。有关资源中的字段中的每一个含义的详细内容,请参阅帮助中的 VERSIONINFO 资源语句。替换宏 FILEVER 和 PRODUCTVER 的文件和产品数据。同样,替换宏 STRFILEVER 和 STRPRODUCTVER 的文件和产品字符串数据。添加# VS_VERSION_INFO 资源语句前立即包括VersionNo.h。现在版本资源看起来://///////////////////////////////////////////////////////////////////// // // Version // #include "VersionNo.h" VS_VERSION_INFO VERSIONINFO FILEVERSION FILEVER PRODUCTVERSION PRODUCTVER FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "Sample Application\0" VALUE "CompanyName", "Microsoft Corp.\0" VALUE "FileDescription", "MyProject MFC Application\0" VALUE "FileVersion", STRFILEVER VALUE "InternalName", "MyProject\0" VALUE "LegalCopyright", "Copyright (C) 1997\0" VALUE "OriginalFilename", "MyProject.EXE\0" VALUE "ProctName", "MyProject Application\0" VALUE "ProctVersion", STRPRODUCTVER END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END 创建与您的项目位于同一目录中名为 VersionNo.h 的头文件。此文件将包含以下语句,将使用在步骤 2 中的宏的定义:#define FILEVER 1,0,0,1 #define PRODUCTVER 1,0,0,1 #define STRFILEVER "1, 0, 0, 1\0" #define STRPRODUCTVER "1, 0, 0, 1\0" 注意: 添加换行符和回车换行符的最后一行。现在,MyProject.rc 文件包含 MyProject.rc2,并且 MyProject.rc2 文件包含 VersionNo.h。将使用 Visual Basic 脚本宏修改 VersionNo.h 文件的内容。宏描述控点的下方 Visual c + + BuildFinish 事件,因此它将不激发直到生成完成。每当调用此 VB 脚本代码时,它首先按固定金额、 增加内部的头文件的版本号,然后保存该文件,并将其关闭。在后续的生成过程中可执行文件中包含新的版本号。要安装并使用 VB 脚本代码,请执行以下操作:打开现有的 DSM (宏观) 文件,或在 Visual c + + 中创建一个新的 DSM 文件。要创建一个新文件,请单击文件菜单上的新建、文件选项卡上选择的宏文件、 为其指定一个名称,和单击确定粘贴下面的以下 VB 脚本代码 (在 Visual c + + 中,无法安装空 DSM 文件 ; 下一步解释安装):Function GetProjectDir(FullName) 'VC++ doesn't provide any method for getting the path of the active project 'See the VB Script reference for more information on the VB Script functions 'used in this function Dim proj_path proj_path = Split(StrReverse(FullName),"\",-1,1) Dim count count = UBound(proj_path) Dim full_path full_path = "" Dim i for i = 1 to count full_path = full_path & "\" & proj_path(i) next GetProjectDir = StrReverse(full_path) End Function Sub ReplaceText(selection, count, incrementby) 'selection represents the TextSelection object 'count represents the position of the version number to be incremented 'incrementby represents a number that will be added to the existing version number selection.WordRight dsMove, count selection.WordRight dsExtend, 1 Dim str str = selection.Text str = str + incrementby selection.Text = str End Sub Sub Application_BuildFinish(numError, numWarning) 'This event will be triggered after every build of a project 'You can check numError and/or numWarning to determine if you want to continue 'If numError 0 Then 'exit sub 'Obtain the full path of the active project Dim full_path full_path = GetProjectDir(ActiveProject.FullName) full_path = full_path & "versionno.h" 'Open the VersionNo.h file Documents.Open full_path 'Obtain the TextSelection object Dim selection set selection = ActiveDocument.Selection selection.StartOfDocument 'Increment the version information ReplaceText selection, 9, 1 selection.LineDown selection.StartOfLine ReplaceText selection, 9, 1 selection.LineDown selection.StartOfLine ReplaceText selection, 10, 1 selection.LineDown selection.StartOfLine ReplaceText selection, 10, 1 ActiveDocument.Save ActiveDocument.Close End Sub 注:此代码是不受支持的示例。为您生成的方案,您可以修改它。如果未安装,请安装 DSM 文件。要安装,请在工具菜单上单击自定义、 单击加载项和宏文件选项卡、 浏览以选择 DSM 文件中,并单击关闭从生成菜单中选择生成MyProject.exe。生成完成后,打开 VersionNo.h 文件。它将包含以下语句:#define FILEVER 1,0,0,2 #define PRODUCTVER 1,0,0,2 #define STRFILEVER "1, 0, 0, 2\0" #define STRPRODUCTVER "1, 0, 0, 2\0" 如果您生成代码再次中的此版本信息包含在可执行文件和版本信息就会增加。

㈥ Excel 如何获取及写入文件版本号

利用公式就可以,一般文件版本号都是用括号括起来的比如[]利用find函数查找到[所在的位置,再加1就是版本号第一个数字的位置,再利用mid函数提取出来,如果文件版本号为5468,如:=mid(文件版本号所在的单元格,find("[",文件版本号所在的单元格)+1,大于文件版本号数字个数的值)

㈦ 如何用C语言获取主机操作系统的版本号

redhat系统可直接从文件中读取:cat /etc/redhat-releasewindows:GetUserName(LPWSTR lpBuffer, LPDWORD nSize);lpBuffer是一个数组的地址,用来存贮得到的用户名,nsize是个指针,指向此存贮此数组大小的单元,就是数组能存贮的字符数量GetVersionExW(LPOSVERSIONINFOW);参数LPOSVERSIONINFO是一个指向OSVERSIONINFO类型变量的指针,具体判断代码如下定义 OSVERSIONINFO osvi;然后调用函数取得版本号,判断如下switch (osvi.dwPlatformId) { case VER_PLATFORM_WIN32_NT: if (osvi.dwMajorVersion == 5&&osvi.dwMinorVersion == 0) { strOSVersion = TEXT("Windows 2000"); } else if (osvi.dwMajorVersion == 5&&osvi.dwMinorVersion == 1) { strOSVersion = TEXT("Windows XP"); } else if(osvi.dwMajorVersion == 6&&osvi.dwMinorVersion == 0) { strOSVersion = TEXT("Windows Vista"); } else if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 0) { strOSVersion = TEXT("Windows NT"); } break; case VER_PLATFORM_WIN32_WINDOWS: if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 10) { strOSVersion = TEXT("Windows 98"); } else if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 90) { strOSVersion = TEXT("Windows ME"); } else { strOSVersion = TEXT("Windows 95"); } break; default: break;}

㈧ 怎么给qt程序添加版本信息

windows下的可执行文件的属性中有版本这个信息,她含有版本信息,描述,版权等等。对于qt的程序,要含有这样的信息,该怎么办呢?那就如下操作吧:新建***.rc文件,在rc文件填入下的信息#if defined(UNDER_CE)#include <winbase.h>#else#include <winver.h>#endifVS_VERSION_INFO VERSIONINFOFILEVERSION 1,0,0,0PRODUCTVERSION 1,0,0,0FILEFLAGSMASK 0x3fL#ifdef _DEBUGFILEFLAGS VS_FF_DEBUG#elseFILEFLAGS 0x0L#endifFILEOS VOS__WINDOWS32FILETYPE VFT_DLLFILESUBTYPE 0x0LBEGINBLOCK "StringFileInfo"BEGINBLOCK "040904B0"BEGINVALUE "CompanyName", "artphoto365.com\0"VALUE "FileDescription", "ArtPhoto365C线下软件\0"VALUE "FileVersion", "1.0.0.0\0"VALUE "LegalCopyright", "(C) 2010-2011 artphoto365.com\0"VALUE "OriginalFilename", "ArtPhoto365C.exe\0"VALUE "ProctName", "ArtPhoto365C线下软件\0"ENDENDEND然后记住将pro文件的OTHER_FILES += resource.rc改成RC_FILE = resource.rc,要不编译生成的程序不含有版本信息。

㈨ c++ 获取文件版本信息

c++ 获取文件版本信息文件信息结构描述:struct VS_FIXEDFILEINFO { DWORD dwSignature; //=0xFEEFO4BD DWORD dwStrucVersion; //该结构的版本信息,分高低版本 DWORD dwFileVersionMS; //主文件版本 DWORD dwFileVersionLS; //次文件版本 DWORD dwProctVersionMS; //主产品版本 DWORD dwProctVersionLS; //次产品版本 DWORD dwFileFlagsMask; //文件标志掩码 DWORD dwFileFlags; //文件标志(是否包含调试版本,动态版本结构…) DWORD dwFileOS; //文件原定的操作系统(VOS_DOS,VOS_NT,VOS__WINDOWS16…) DWORD dwFileType; //文件类型(VFT_UNKNOWN,VFT_APP,VFT_DLL…)DWORD dwFileSubtype; //当dwFileType为VFT_APP或VFT_DLL时该值为0,当为驱动信息VFT_APP或字体信息时该值包含其具体的信息 DWORD dwFileDateMS; //主时间戳 DWORD dwFileDateLS; //次时间戳 };===============================================struct st_Language { WORD wLanguageID; WORD wCodePage;};CString str("D:\\test\\test.exe"); DWORD dwSize = GetFileVersionInfoSize(str,NULL); if(0 == dwSize) return; LPBYTE pBlock = (BYTE*)malloc(dwSize); bool b = GetFileVersionInfo(str,0,dwSize,pBlock); char* pVerValue = NULL; UINT nlen1 = 0; VerQueryValue(pBlock,TEXT("file://VarFileInfo//Translation"), (LPVOID*)&pVerValue,&nlen1); //获取语言 char* pLanValue = NULL; UINT nLen2 = 0; VerQueryValue(pBlock,"VarFileInfo\\Translation",(LPVOID*)&pLanValue,&nLen2); //080404b0为中文 st_Language stlang = *((st_Language *)pLanValue); //获取版本属性 VerQueryValue(pBlock,TEXT("file://%22),(LPVOID*)%26pVerValue,%26nlen1/); VS_FIXEDFILEINFO *pfixfileinfo = (VS_FIXEDFILEINFO *)pVerValue;//修改属性 pfixfileinfo->dwFileVersionLS = 1234; pfixfileinfo->dwFileVersionMS = 4321; pfixfileinfo->dwProctVersionLS = 101; pfixfileinfo->dwProctVersionMS = 1010;//修改资源 HANDLE handle = BeginUpdateResource(str,FALSE); BOOL result = UpdateResource(handle ,RT_VERSION ,MAKEINTRESOURCE(1) ,stlang.wLanguageID ,pBlock ,dwSize); if (result == FALSE) { AfxMessageBox("Updata Resource False."); } EndUpdateResource(handle,FALSE);free(pBlock);

㈩ c语言编写程序更改exe或dll文件的版本号,请大虾把代码给个看下,谢啦!

DLL或者exe的文件版本号,直接用开发工具添加就行了呀,为什么还要代码那么麻烦?