filebuf以ios::in|ios::out方式打开文件,写入数据的字节数小于原数据而导致数据冗余的问题

huozi19820418 2014-02-12 07:20:03
在目前的项目里,因为文件被多个进程共享,于是有读写操作同时进行的要求,所以要修改文件时只能以ios::in|ios::out方式打开(ios::trunc将文件内容全部清空,导致其他进程读取文件失败)。但是在用ostream更新文件时,如果写入数据的字节数小于原数据,就导致更新后的文件里有冗余数据存在。比如原文件里的数据是greatwall,要更新为bigwall,则文件会被更新成bigwallll(9-7=2,残留最后2个字节)。请问有什么办法可以将文件里冗余的字节删除掉呢?

总结如下:
1. 用filebuf以ios::in|ios::out方式打开文件,并将文件内容全部读入内存
2. 对内存上的文件内容进行操作
3. 将操作后的数据重新写回文件,如果新数据的字节数小于原数据,则产生冗余数据。

即最后一个步骤产生问题。在现有的处理方式下,有什么解决方法呢?
...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vipcxj 2014-02-13
  • 打赏
  • 举报
回复
引用 3 楼 huozi19820418 的回复:
[quote=引用 1 楼 buyong 的回复:] 1. 用filebuf以ios::in|ios::out方式打开文件,并将文件内容全部读入内存 2. 对内存上的文件内容进行操作 2.1 如果操作后内存数据变小,就缩短内存buffer 3. 将操作后的数据重新写回文件,如果新数据的字节数小于原数据,则产生冗余数据。
要指出的是,因为可能有其他读取进程的存在,所以以上操作期间,不能破坏物理文件的数据完整性。即,写入数据时,要么将全部内存数据写入文件,要么不写入,而不能出现物理文件上新数据(来自内存)和原数据(写入操作还未覆盖的原数据)共存的情况。[/quote] 你这说法有问题,硬盘上数据写入是个蛮耗时的过程,又不是一瞬间就写入完成的,更不要说保持原子性。所以文件锁是必须的,可能系统帮你加,或者你主动加。还有你的3的需求其实就是要能完成截断文件的操作,这一般有文件操作的相关API完成,iostream是流,并不具备这种功能。
huozi19820418 2014-02-13
  • 打赏
  • 举报
回复
引用 1 楼 buyong 的回复:
1. 用filebuf以ios::in|ios::out方式打开文件,并将文件内容全部读入内存 2. 对内存上的文件内容进行操作 2.1 如果操作后内存数据变小,就缩短内存buffer 3. 将操作后的数据重新写回文件,如果新数据的字节数小于原数据,则产生冗余数据。
要指出的是,因为可能有其他读取进程的存在,所以以上操作期间,不能破坏物理文件的数据完整性。即,写入数据时,要么将全部内存数据写入文件,要么不写入,而不能出现物理文件上新数据(来自内存)和原数据(写入操作还未覆盖的原数据)共存的情况。
huozi19820418 2014-02-13
  • 打赏
  • 举报
回复
引用 1 楼 buyong 的回复:
1. 用filebuf以ios::in|ios::out方式打开文件,并将文件内容全部读入内存 2. 对内存上的文件内容进行操作 2.1 如果操作后内存数据变小,就缩短内存buffer 3. 将操作后的数据重新写回文件,如果新数据的字节数小于原数据,则产生冗余数据。
[缩短内存buffer]?请问这个是怎么实现的?
buyong 2014-02-12
  • 打赏
  • 举报
回复
1. 用filebuf以ios::in|ios::out方式打开文件,并将文件内容全部读入内存 2. 对内存上的文件内容进行操作 2.1 如果操作后内存数据变小,就缩短内存buffer 3. 将操作后的数据重新写回文件,如果新数据的字节数小于原数据,则产生冗余数据。
// PhonePictureDlg.cpp : implementation file // #include "stdafx.h" #include "PhonePicture.h" #include "PhonePictureDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPhonePictureDlg dialog CPhonePictureDlg::CPhonePictureDlg(CWnd* pParent /*=NULL*/) : CDialog(CPhonePictureDlg::IDD, pParent) { //{{AFX_DATA_INIT(CPhonePictureDlg) m_PicWidth = 0; m_PicHigh = 0; m_address = _T(""); m_MouseX = 0; m_MouseY = 0; m_PicEditAdd = _T(""); //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CPhonePictureDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPhonePictureDlg) DDX_Control(pDX, IDC_COMBO1, m_buchang); DDX_Control(pDX, IDC_PICTYPE, m_pictype); DDX_Text(pDX, IDC_WIDTH, m_PicWidth); DDX_Text(pDX, IDC_HIGH, m_PicHigh); DDV_MinMaxInt(pDX, m_PicHigh, 0, 1000); DDX_Control(pDX, IDC_IMAGE1, m_image); DDX_Control(pDX, IDC_SCROLLBAR_Horizontal, m_HORScrollBar); DDX_Control(pDX, IDC_SCROLLBAR_Vertical, m_VERScrollBar); DDX_Text(pDX, IDC_ADDRESS, m_address); DDX_Control(pDX, IDC_SCROLLBAR_Horizontal2, m_width); DDX_Control(pDX, IDC_SCROLLBAR_Horizontal3, m_high); DDX_Text(pDX, IDC_EDIT1, m_MouseX); DDX_Text(pDX, IDC_EDIT2, m_MouseY); DDX_Control(pDX, IDC_SCROLLBAR_Horizontal4, m_PicNum); DDX_Text(pDX, IDC_EDIT3, m_PicEditAdd); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPhonePictureDlg, CDialog) //{{AFX_MSG_MAP(CPhonePictureDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_COMMAND(IDC_FILE_EXIT, OnFileExit) ON_EN_CHANGE(IDC_WIDTH, OnChangeWidth) ON_EN_CHANGE(IDC_HIGH, OnChangeHigh) ON_COMMAND(IDC_FILE_OPEN, OnFileOpen) ON_COMMAND(IDC_FILE_SAVE, OnFileSave) ON_COMMAND(IDC_FILE_SAVEAS, OnFileSaveas) ON_UPDATE_COMMAND_UI(IDC_FILE_SAVE, OnUpdateFileSave) ON_CBN_SELCHANGE(IDC_PICTYPE, OnSelchangePictype) ON_WM_TIMER() ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) ON_EN_CHANGE(IDC_ADDRESS, OnChangeAddress) ON_COMMAND(IDC_PICTURE_EDITLAYOUT, OnPictureEditlayout) ON_COMMAND(IDC_PICTURE_EDITLAYIN, OnPictureEditlayin) ON_COMMAND(IDC_CUT, OnCut) ON_COMMAND(IDC_PASE, OnPase) ON_BN_CLICKED(IDC_RADIO1, OnRadio1) ON_BN_CLICKED(IDC_RADIO2, OnRadio2) ON_BN_CLICKED(IDC_RADIO3, OnRadio3) ON_BN_CLICKED(IDC_RADIO4, OnRadio4) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPhonePictureDlg message handlers BOOL CPhonePictureDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon CPoint point; // TODO: Add extra initialization here m_pictype.SetWindowText("16貫廬꽈"); PICTYPE=5; m_PicHigh=220; m_PicWidth=176; PicHigh=220; PicWidth=176; UpdateData(false); STEPX=STEPY=0; buchang=0; m_address="0x0"; m_width.SetMax(1560); m_width.SetValue(540); m_high.SetMax (560); m_high.SetValue(540); SelectPic=0; LoadRosoure(); fileready=0; needadd=0; STARTADD=0x9a47bc; needpack=0; return TRUE; } void CPhonePictureDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CPhonePictureDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(▭); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CPhonePictureDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CPhonePictureDlg::OnOK() { // TODO: Add extra validation here CDialog::OnOK(); } void CPhonePictureDlg::OnFileExit() { // TODO: Add your command handler code here OnOK() ; } BOOL CPhonePictureDlg::LoadRosoure() { HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_BMPTITLE), TEXT("BIN")); if (NULL == hRsrc) return FALSE; //삿혤栗都돨댕鬼 DWORD dwSize = SizeofResource(NULL, hRsrc); if (0 == dwSize) return FALSE; //속潼栗都 HGLOBAL hGlobal = LoadResource(NULL, hRsrc); if (NULL == hGlobal) return FALSE; //傑땍栗都 LPVOID pBuffer = LockResource(hGlobal); if (NULL == pBuffer) return FALSE; else { BmpTitleBuf=(char*)pBuffer; BmpTitleSize=dwSize; } loadpictab(); return TRUE; } void CPhonePictureDlg::OnChangeWidth() { UpdateData(true); PicWidth=m_PicWidth; PicXNum=312/PicWidth; } void CPhonePictureDlg::OnChangeHigh() { UpdateData(true); PicHigh=m_PicHigh; PicYNum=258/PicHigh; } void CPhonePictureDlg::OnFileOpen() { char szFileFilter[]= "BIN File(*.Bin)|*.Bin|" "SKD File(*.SKD)|*.SKD|" "BMP File(*.BMP)|*.BMP|" "BMP File(*.DAT)|*.DAT|" "All File(*.*)|*.*|"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()==IDOK) { FileName=dlg.GetPathName(); //뭐芚CFile뚤蹶 CFile File(FileName,CFile::modeRead); //롸토뻠녑혐,댕鬼槨匡숭댕鬼 FileSize=File.GetLength(); FileBuf = (char*) malloc(FileSize); File.ReadHuge(FileBuf,FileSize); File.Close(); m_HORScrollBar.SetMax(FileSize/65536) ; fileready=1; int k; switch(PICTYPE) { case 0: k=1; break; case 1: k=1; break; case 2: k=1; break; case 3: k=1; break; case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=3; break; case 8: k=3; break; case 9: k=2; break; } m_VERScrollBar.SetMax(65536/k); SetTimeOn(50); } } void CPhonePictureDlg::OnFileSave() { // TODO: Add your command handler code here CFile File(FileName, CFile::modeCreate | CFile::modeWrite); File.WriteHuge(FileBuf,FileSize); File.Close(); } void CPhonePictureDlg::OnFileSaveas() { char szFileFilter[]= "BIN File(*.Bin)|*.Bin|" "SKD File(*.SKD)|*.SKD|" "All File(*.*)|*.*|"; CFileDialog SelectFile(FALSE,NULL,"",OFN_HIDEREADONLY,szFileFilter,NULL); SelectFile.m_ofn.lpstrTitle="朞嶝狼괏닸돨匡숭"; if(SelectFile.DoModal()==IDOK) { FileName=SelectFile.GetPathName(); CFile File(FileName, CFile::modeCreate | CFile::modeWrite); File.WriteHuge(FileBuf,FileSize); File.Close(); } } BEGIN_EVENTSINK_MAP(CPhonePictureDlg, CDialog) //{{AFX_EVENTSINK_MAP(CPhonePictureDlg) ON_EVENT(CPhonePictureDlg, IDC_IMAGE1, -607 /* MouseUp */, OnMouseUpImage1, VTS_I2 VTS_I2 VTS_R4 VTS_R4) ON_EVENT(CPhonePictureDlg, IDC_IMAGE1, -606 /* MouseMove */, OnMouseMoveImage1, VTS_I2 VTS_I2 VTS_R4 VTS_R4) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal, 2 /* Change */, OnChangeSCROLLBARHorizontal, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Vertical, 2 /* Change */, OnChangeSCROLLBARVertical, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal, 7 /* Scroll */, OnScrollSCROLLBARHorizontal, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Vertical, 7 /* Scroll */, OnScrollSCROLLBARVertical, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal2, 2 /* Change */, OnChangeSCROLLBARHorizontal2, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal2, 7 /* Scroll */, OnScrollSCROLLBARHorizontal2, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal3, 2 /* Change */, OnChangeSCROLLBARHorizontal3, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal3, 7 /* Scroll */, OnScrollSCROLLBARHorizontal3, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_IMAGE1, -601 /* DblClick */, OnDblClickImage1, VTS_DISPATCH) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal4, 2 /* Change */, OnChangeSCROLLBARHorizontal4, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal4, 7 /* Scroll */, OnScrollSCROLLBARHorizontal4, VTS_NONE) ON_EVENT(CPhonePictureDlg, IDC_IMAGE1, 3 /* BeforeDragOver */, OnBeforeDragOverImage1, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2) ON_EVENT(CPhonePictureDlg, IDC_SCROLLBAR_Horizontal2, 3 /* BeforeDragOver */, OnBeforeDragOverSCROLLBARHorizontal2, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void CPhonePictureDlg::OnMouseUpImage1(short Button, short Shift, float X, float Y) { // TODO: Add your control notification handler code here if(Button==2&&fileready;==1) { CMenu *m_pMenu; CMenu menu; menu.LoadMenu(IDR_MAIN_MENU); m_pMenu = menu.GetSubMenu(1); m_pMenu->TrackPopupMenu(TPM_CENTERALIGN + TPM_LEFTBUTTON, int(X + 515),int(Y+450) ,this,NULL); } } void CPhonePictureDlg::OnUpdateFileSave(CCmdUI* pCmdUI) { } void CPhonePictureDlg::OnSelchangePictype() { PICTYPE=m_pictype.GetCurSel(); int k; switch(PICTYPE) { case 0: k=1; break; case 1: k=1; break; case 2: k=1; break; case 3: k=1; break; case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=3; break; case 8: k=3; break; case 9: k=2; break; } m_VERScrollBar.SetMax(65536/k); } void CPhonePictureDlg::OnMouseMoveImage1(short Button, short Shift, float X, float Y) { MousePoint.x=int(X)*4/3; MousePoint.y=(int)Y*4/3; m_MouseX= MousePoint.x; m_MouseY= MousePoint.y; UpdateData(false); } void CPhonePictureDlg::OnChangeSCROLLBARHorizontal() { STEPX=m_HORScrollBar.GetValue(); } void CPhonePictureDlg::OnTimer(UINT nIDEvent) { ShowPic(); CDialog::OnTimer(nIDEvent); } void CPhonePictureDlg::SetTimeOn(int x) { int result=SetTimer(1,x,NULL); if(result==0) { MessageBox("땍珂포갛陋呵겨!."); } } void CPhonePictureDlg::ShowPic() { unsigned long add; add=STEPX*65536+STEPY+buchang; m_address=Hex2Str(add); UpdateData(false); switch(PICTYPE) { case 0: ShowMoneColor(PICTYPE); break; case 1: ShowMoneColor(PICTYPE); break; case 2: ShowMoneColorHH(); break; case 3: ShowMoneColorH(PICTYPE); break; case 4: Showcolor(8); break; case 5: Showcolor(16); break; case 6: Showcolor(24); break; case 7: Showcolor(32); break; case 8: Showcolor(22); break; case 9: Showcolor(12); break; } } void CPhonePictureDlg::Showcolor(int k)//鞫刻16貫꽈貫暠 { int i,j,p; unsigned short RGB; int w,h; unsigned long color; unsigned char R,G,B,H; CBitmap Bitmap,*pOldBitmap; int x,y; int pointnum; short pointcolor; x=MousePoint.x/PicWidth; y=MousePoint.y/PicHigh; BITMAP bm; CDC MemDC; CDC *pDC; unsigned char Data[499200]; PicXNum=1560/PicWidth; PicYNum=320/PicHigh; pDC=m_image.GetDC(); Bitmap.LoadBitmap(IDB_BITMAP1);// Bitmap.CreateBitmap(560,320,1,24,NULL);// //retrieve information about a CBitmap object Bitmap.GetObject(sizeof(BITMAP),&bm;); char *gadd; if(!MemDC.CreateCompatibleDC(pDC)) return ; pOldBitmap=(CBitmap*)MemDC.SelectObject(&Bitmap;); for(h=0;hFileSize) break; R=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+(PicWidth*PicHigh))+j*PicWidth+i); G=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+(PicWidth*PicHigh))+j*PicWidth+i); B=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+(PicWidth*PicHigh))+j*PicWidth+i); H=0; break; break; case 16: if(STEPX*65536+STEPY+buchang+(h*PicXNum+w)*2*(PicWidth*PicHigh)+2*j*PicWidth+2*i>FileSize) break; gadd=FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*2*(PicWidth*PicHigh)+2*j*PicWidth+2*i; RGB=*(unsigned short*)gadd; color= ConverColor16t24(RGB); if(x==w&&y==h&SelectPic;==1) { R=0xff-char((color&0x00ff0000;)>>16); G=0xff-char((color&0x0000ff00;)>>8); B=0xff-char(color&0x000000ff;); H=0; } else { B=char((color&0x00ff0000;)>>16); G=char((color&0x0000ff00;)>>8); R=char(color&0x000000ff;); H=0; } break; case 24: if(STEPX*65536+STEPY+buchang+(h*PicXNum+w)*3*(PicWidth*PicHigh)+3*j*PicWidth+3*i>FileSize) break; R=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+3*(PicWidth*PicHigh))+3*j*PicWidth+3*i); G=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+3*(PicWidth*PicHigh))+3*j*PicWidth+3*i+1); B=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+3*(PicWidth*PicHigh))+3*j*PicWidth+3*i+2); H=0; break; case 32: if(STEPX*65536+STEPY+buchang+(h*PicXNum+w)*4*(PicWidth*PicHigh)+4*j*PicWidth+4*i>FileSize) break; R=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+1); G=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+2); B=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+3); H=0;//*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+3); break; case 22: if(STEPX*65536+STEPY+buchang+(h*PicXNum+w)*4*(PicWidth*PicHigh)+4*j*PicWidth+4*i>FileSize) break; char tls,r,g,b; r=*(int*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+0); g=*(int*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+2); b=*(int*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i+3); color=*(int*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(8+4*(PicWidth*PicHigh))+4*j*PicWidth+4*i); tls=color&0x3; color=(color>>14)|(tls); R=(color>>12)*255/63; G=((color>>6)&0x3f;)*255/63; B=(color&0x3f;)*255/63; /* R= ((r<<4)|((g&0xf0;)>>4))*255/63; G= (((g&0x0f;)<<2)|((b&0xc0;)>>6))*255/63; B= (b&0x3f;)*255/63; */ H=0; break; case 12: if(STEPX*65536+STEPY+buchang+(h*PicXNum+w)*2*(PicWidth*PicHigh)+2*j*PicWidth+2*i>FileSize) break; gadd=FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*2*(PicWidth*PicHigh)+2*j*PicWidth+2*i; RGB=*(unsigned short*)gadd; color= ConverColor12t24(RGB); if(x==w&&y==h&SelectPic;==1) { B=0xff-char((color&0x00ff0000;)>>16); G=0xff-char((color&0x0000ff00;)>>8); R=0xff-char(color&0x000000ff;); H=0; } else { R=char((color&0x00ff0000;)>>16); G=char((color&0x0000ff00;)>>8); B=char(color&0x000000ff;); H=0; } break; } p=(h*PicHigh+j)*(bm.bmWidth)+w*PicWidth+i; Data[4*p]=B; Data[4*p+1]=G; Data[4*p+2]=R; Data[4*p+3]=H; } Bitmap.SetBitmapBits(bm.bmHeight*bm.bmWidthBytes ,Data); pDC->BitBlt(1,1,bm.bmWidth,bm.bmHeight,&MemDC;,0,0,SRCCOPY); MemDC.SelectObject(pOldBitmap); pDC->DeleteDC(); } unsigned long CPhonePictureDlg::ConverColor16t24(short D)//瘻뻣16貫槨24貫꽈 { int r,g,b; unsigned long color; if (D==0 || D==0xffff) return D; r=D&0xf800; r=r>>11; r=r*255/31; g=((D&0x7e0;)>>5)*255/63; b=(D&0x1f;)*255/31; color=b<<16|g<<8|r; return color; } void CPhonePictureDlg::OnChangeSCROLLBARVertical() { // TODO: Add your control notification handler code here int k; switch(PICTYPE) { case 0: k=1; break; case 1: k=1; break; case 2: k=1; break; case 3: k=1; break; case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=4; break; case 8: k=2; break; case 9: k=2; } STEPY=k*m_VERScrollBar.GetValue(); } void CPhonePictureDlg::OnScrollSCROLLBARHorizontal() { // TODO: Add your control notification handler code here STEPX=m_HORScrollBar.GetValue(); } void CPhonePictureDlg::OnScrollSCROLLBARVertical() { // TODO: Add your control notification handler code here int k; switch(PICTYPE) { case 0: k=1; break; case 1: k=1; break; case 2: k=1; break; case 3: k=1; break; case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=4; break; case 8: k=2; break; case 9: k=2; } STEPY=k*m_VERScrollBar.GetValue(); } CString CPhonePictureDlg::Hex2Str(unsigned long add) { char s; unsigned int i,h; CString retdata; retdata="0x"; if(add==0) return "0x0"; int k; for(i=0;i<8;i++) { h=add<<(i*4); h=h>>28; s=ConvertHex2Char(h); if(s!=0x30||k==1 ) { retdata+=s; k=1; } } return retdata; } char CPhonePictureDlg::ConvertHex2Char(int hex) { char retdata; switch(hex) { case 0: retdata='0'; break; case 1: retdata='1'; break; case 2: retdata='2'; break; case 3: retdata='3'; break; case 4: retdata='4'; break; case 5: retdata='5'; break; case 6: retdata='6'; break; case 7: retdata='7'; break; case 8: retdata='8'; break; case 9: retdata='9'; break; case 10: retdata='A'; break; case 11: retdata='B'; break; case 12: retdata='C'; break; case 13: retdata='D'; break; case 14: retdata='E'; break; case 15: retdata='F'; break; } return retdata; } void CPhonePictureDlg::OnSelchangeCombo1() { // TODO: Add your control notification handler code here buchang=m_buchang.GetCurSel(); } void CPhonePictureDlg::OnChangeAddress() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // TODO: Add your control notification handler code here KillTimer(1); CString data; UpdateData(true); data=m_address; long address=Str2Hex(data); STEPX=address/65536; STEPY=(addresse536); //m_VERScrollBar.SetValue(STEPY); // OnScrollSCROLLBARVertical(); SetTimeOn(50); } unsigned long CPhonePictureDlg::Str2Hex(CString address) { unsigned long returndata; int len,i,k,h; len=address.GetLength(); CString s; char d; k=0; returndata=0; if(len>2) { s=address[0]; s+=address[1]; if(s=="0x"|s=="0X") for(i=2;i='0')&&(ch<='9')) return ch-0x30; else if((ch>='A')&&(ch<='F')) return ch-'A'+10; else if((ch>='a')&&(ch<='f')) return ch-'a'+10; else return (-1); } void CPhonePictureDlg::PreSubclassWindow() { // TODO: Add your specialized code here and/or call the base class CDialog::PreSubclassWindow(); } void CPhonePictureDlg::ShowMoneColor(int k) { int i,j,p; char RGB; int w,h; unsigned char R,G,B; CBitmap Bitmap,*pOldBitmap; BITMAP bm; CDC MemDC; CDC *pDC; unsigned char Data[499200]; PicXNum=560/(8*PicWidth); PicYNum=320/PicHigh; pDC=m_image.GetDC(); Bitmap.LoadBitmap(IDB_BITMAP1);// Bitmap.CreateBitmap(560,320,1,24,NULL);// //retrieve information about a CBitmap object Bitmap.GetObject(sizeof(BITMAP),&bm;); if(!MemDC.CreateCompatibleDC(pDC)) return ; pOldBitmap=(CBitmap*)MemDC.SelectObject(&Bitmap;); long picwidth=bm.bmWidth; for(h=0;hFileSize) return; RGB=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(PicWidth*PicHigh)+PicWidth*j+i); for(int m=0;m<8;m++) { R=RGB>>7-m; R=R&0x1; if(R ) { B=0; G=0; R=0; } else { B=255; G=255; R=255; } p=(h*PicHigh+j)*(picwidth)+8*w*PicWidth+8*i+m; Data[4*p]=B; Data[4*p+1]=G; Data[4*p+2]=R; Data[4*p+3]=0; } } Bitmap.SetBitmapBits(bm.bmHeight*bm.bmWidthBytes ,Data); pDC->BitBlt(1,1,bm.bmWidth,bm.bmHeight,&MemDC;,0,0,SRCCOPY); MemDC.SelectObject(pOldBitmap); pDC->DeleteDC(); } void CPhonePictureDlg::ShowMoneColorHH() { int i,j,p; unsigned char RGB; int w,h; unsigned char R,G,B; CBitmap Bitmap,*pOldBitmap; BITMAP bm; CDC MemDC; CDC *pDC; unsigned char Data[499200]; PicXNum=560/(PicWidth); PicYNum=320/(8*PicHigh); pDC=m_image.GetDC(); Bitmap.LoadBitmap(IDB_BITMAP1);// Bitmap.CreateBitmap(560,320,1,24,NULL);// //retrieve information about a CBitmap object Bitmap.GetObject(sizeof(BITMAP),&bm;); if(!MemDC.CreateCompatibleDC(pDC)) return ; pOldBitmap=(CBitmap*)MemDC.SelectObject(&Bitmap;); long picwidth=bm.bmWidth; for(h=0;hFileSize) return; RGB=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(PicWidth*PicHigh)+PicWidth*j+i); for(int m=0;m<8;m++) { R=RGB>>7-m; R=R&0x1; if(R ) { B=0; G=0; R=0; } else { B=255; G=255; R=255; } p=(h*PicHigh*8+j*8+7-m)*picwidth+w*PicWidth+i; Data[4*p]=B; Data[4*p+1]=G; Data[4*p+2]=R; Data[4*p+3]=0; } } Bitmap.SetBitmapBits(bm.bmHeight*bm.bmWidthBytes ,Data); pDC->BitBlt(1,1,bm.bmWidth,bm.bmHeight,&MemDC;,0,0,SRCCOPY); MemDC.SelectObject(pOldBitmap); pDC->DeleteDC(); } void CPhonePictureDlg::ShowMoneColorH(int k) { int i,j,p; char RGB; int w,h; unsigned char R,G,B; CBitmap Bitmap,*pOldBitmap; BITMAP bm; CDC MemDC; CDC *pDC; unsigned char Data[499200]; PicXNum=560/(PicWidth); PicYNum=320/(8*PicHigh); pDC=m_image.GetDC(); Bitmap.LoadBitmap(IDB_BITMAP1);// Bitmap.CreateBitmap(560,320,1,24,NULL);// //retrieve information about a CBitmap object Bitmap.GetObject(sizeof(BITMAP),&bm;); if(!MemDC.CreateCompatibleDC(pDC)) return ; pOldBitmap=(CBitmap*)MemDC.SelectObject(&Bitmap;); long picwidth=bm.bmWidth; for(h=0;hFileSize) return; RGB=*(unsigned char*)(FileBuf+buchang+STEPX*65536+STEPY+(h*PicXNum+w)*(PicWidth*PicHigh)+PicHigh*j+i); for(int m=0;m<8;m++) { R=RGB>>7-m; R=R&0x1; if(R ) { B=0; G=0; R=0; } else { B=255; G=255; R=255; } p=(8*h*PicHigh+8*i+7-m)*(picwidth)+w*PicWidth+j; Data[4*p]=B; Data[4*p+1]=G; Data[4*p+2]=R; Data[4*p+3]=0; } } Bitmap.SetBitmapBits(bm.bmHeight*bm.bmWidthBytes ,Data); pDC->BitBlt(1,1,bm.bmWidth,bm.bmHeight,&MemDC;,0,0,SRCCOPY); MemDC.SelectObject(pOldBitmap); pDC->DeleteDC(); } //DEL void CPhonePictureDlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) //DEL { //DEL // TODO: Add your control notification handler code here //DEL PicWidth=m_slid.GetPos(); //DEL *pResult = 0; //DEL } void CPhonePictureDlg::OnChangeSCROLLBARHorizontal2() { // TODO: Add your control notification handler code here PicWidth=m_width.GetValue()+1; m_PicWidth=PicWidth; UpdateData(false); } void CPhonePictureDlg::OnScrollSCROLLBARHorizontal2() { // TODO: Add your control notification handler code here PicWidth=m_width.GetValue()+1; m_PicWidth=PicWidth; UpdateData(false); } void CPhonePictureDlg::OnChangeSCROLLBARHorizontal3() { // TODO: Add your control notification handler code here PicHigh=m_high.GetValue()+1; m_PicHigh=PicHigh; UpdateData(false); } void CPhonePictureDlg::OnScrollSCROLLBARHorizontal3() { // TODO: Add your control notification handler code here PicHigh=m_high.GetValue()+1; m_PicHigh=PicHigh; UpdateData(false); } void CPhonePictureDlg::OnDblClickImage1(LPDISPATCH Cancel) { SelectPic++; if(SelectPic==2) SelectPic=0; } void CPhonePictureDlg::OnPictureEditlayout() { int x,y,numx,numy; char R,G,B; char *temp; numx=560/(PicWidth); numy=320/PicHigh; x=MousePoint.x/PicWidth; y=MousePoint.y/PicHigh; long Size; unsigned long color,TLS; unsigned short RGB; int k; switch(PICTYPE) { case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=1; break; case 8: k=18; break; case 9: k=3; break; } Size=PicWidth*PicHigh*k; if(k!=1) { temp=(char*)malloc((PicWidth*3+4-PicWidth*3%4)*PicHigh+0x50); *(long*)(BmpTitleBuf+0x12)=PicWidth; *(long*)(BmpTitleBuf+0x16)=PicHigh; memcpy(temp,BmpTitleBuf,54); } if(k==3) { memcpy(temp+54,FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size,Size); } if(k==4) { memcpy(temp+54,FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size,Size); } if(k==2) { Size=PicWidth*PicHigh; for(int j=0;jFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+(i+j*PicWidth)*2); color= ConverColor16t24(RGB); B=char((color&0x00ff0000;)>>16); G=char((color&0x0000ff00;)>>8); R=char(color&0x000000ff;); if(PicWidth*3%4!=0) { *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3)=B; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3+1)=G; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3+2)=R; } else {*(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3)=B; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3+1)=G; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3+2)=R; } } if(PicWidth*3%4!=0) Size=(PicWidth*3+4-PicWidth*3%4)*PicHigh; else Size=(PicWidth*3)*PicHigh; } if(k==18) { Size=4*PicWidth*PicHigh; for(int j=0;jFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+(i+j*PicWidth)*4); color= ConverColor18t24(TLS); B=char((color&0x00ff0000;)>>16); G=char((color&0x0000ff00;)>>8); R=char(color&0x000000ff;); if(PicWidth*3%4!=0) { *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3)=B; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3+1)=G; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3+2)=R; } else {*(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3)=B; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3+1)=G; *(char*)(temp+54+(PicHigh-j-1)*(PicWidth*3 )+i*3+2)=R; } } if(PicWidth*3%4!=0) Size=(PicWidth*3+4-PicWidth*3%4)*PicHigh; else Size=(PicWidth*3)*PicHigh; } if(k==1) { if(PicWidth%4!=0) Size=PicHigh*(PicWidth+4-PicWidth%4)+1078; else Size=PicHigh*(PicWidth)+1078; temp=(char*)malloc(Size); memcpy(temp,BmpTitleBuf+54,1078); *(long*)(temp+0x12)=PicWidth; *(long*)(temp+0x16)=PicHigh; *(long*)(temp+2)=Size; if(PicWidth%4!=0) for(int j=0;jFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*PicWidth*PicHigh+j*PicWidth, PicWidth); } else memcpy(temp+1078,FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*PicWidth*PicHigh,PicWidth*PicHigh); } char szFileFilter[]= "Bmp File(*.BMP)|*.bmp|"; CFileDialog SelectFile(FALSE,NULL,"",OFN_HIDEREADONLY,szFileFilter,NULL); SelectFile.m_ofn.lpstrTitle="朞嶝狼괏닸돨匡숭"; if(SelectFile.DoModal()==IDOK) { CString FileName=SelectFile.GetPathName(); CFile File(FileName, CFile::modeCreate | CFile::modeWrite); if(k==1) File.WriteHuge(temp,Size); else File.WriteHuge(temp,Size+54); File.Close(); } free(temp); } void CPhonePictureDlg::OnPictureEditlayin() { int x,y,numx,numy; unsigned char R,G,B; long leng; char *temp,*tempadd; CString Name; long templen; numx=560/(PicWidth); numy=320/PicHigh; x=MousePoint.x/PicWidth; y=MousePoint.y/PicHigh; long Size; int k; switch(PICTYPE) { case 4: k=1; break; case 5: k=2; break; case 6: k=3; break; case 7: k=1; break; case 8: k=18; break; case 9: k=3; break; } char szFileFilter[]= "BMP File(*.BMP)|*.BMP|" "All File(*.*)|*.*|"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()==IDOK) { Name=dlg.GetPathName(); if(Name=="") return; CFile File(Name,CFile::modeRead); templen=File.GetLength(); temp = (char*) malloc(templen); File.ReadHuge(temp,templen); File.Close(); } if(Name=="") return; if(*(int*)(temp+0x12)!=PicWidth||*(int*)(temp+0x16)!=PicHigh) { MessageBox("暠튬댕鬼꼇宮륜!"); return ; } if(k==3) { Size=PicHigh*PicWidth*k; memcpy(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size,temp+54,Size); } if(k==2) { Size=PicWidth*PicHigh; if(needadd==1) { *(short*)( FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size)=PicWidth; *(short*)( FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+2)=PicHigh; } if(needpack==0) for(int j=0;jFileBuf+4+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+2*(j*PicWidth+i))=color; else *(short*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+2*(j*PicWidth+i))=color; } } else { leng=packbmp(temp,templen); *(short*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size)=PicWidth; *(short*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+2)=PicHigh; memcpy(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+4,BmpTitleBuf,leng); } if(needadd==1) *(long*)(FileBuf+STARTADD+m_PicNum.GetValue()*4)=STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size; if(needpack==1) STEPY+=leng+4; } if(k==18) { for(int j=0;jFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*k*Size+4*(j*PicWidth+i))=color; } } } if(k==1) { if(PicWidth%4!=0) { for(int j=0;jFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*PicWidth*PicHigh+j*PicWidth,temp+1078+j*(PicWidth+4-PicWidth%4),PicWidth); } else memcpy(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*PicWidth*PicHigh,temp+1078,PicHigh*PicWidth); } } short CPhonePictureDlg::ConverColor24t16(unsigned char R,unsigned char G,unsigned char B) { short color; float x; x=(float)R*31/255; x+=0.5; R=(char)x; x=(float)G*63; x=x/255; G=(char)x; x=(float)B*31; x=x/255; B=(char)x; color=R<<11; color+=+G<<5; color+=B; return color; } void CPhonePictureDlg::OnCut() { int x,y,numx,numy; numx=560/(PicWidth); numy=320/PicHigh; x=MousePoint.x/PicWidth; y=MousePoint.y/PicHigh; long Size; int k; switch(PICTYPE) { case 5: k=2; break; case 6: k=3; break; } Size=PicWidth*PicHigh*k; PicCutTempBuf=(char*)malloc(Size); for(int i=0;iBuf+i)=*(char*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+i); *(char*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+i)=0xff; } CString Nouse; Nouse="nouse"; memcpy(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size,Nouse,Nouse.GetLength()); *(long*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+Nouse.GetLength()+1)=Size; *(char*)(FileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+Nouse.GetLength())=0; PicOldAddress=STEPX*65536+STEPY+buchang+(y*numx+x)*Size; PicCut=1; } void CPhonePictureDlg::OnPase() { int x,y,numx,numy; numx=560/(PicWidth); numy=320/PicHigh; x=MousePoint.x/PicWidth; y=MousePoint.y/PicHigh; long Size; int k; if(PicCut!=1) return; switch(PICTYPE) { case 5: k=2; break; case 6: k=3; break; } Size=PicWidth*PicHigh*k; long NewAddress=STEPX*65536+STEPY+buchang+(y*numx+x)*Size; int Count=SearchAddress(PicOldAddress,NewAddress); if(Count==0) { AfxMessageBox("匡숭櫓청唐冷돕늪뒈囹寧濾,늪暠튬옵콘청唐賈痰"); return; } for(int i=0;iFileBuf+STEPX*65536+STEPY+buchang+(y*numx+x)*Size+i)=*(char*)(PicCutTempBuf+i); } PicCut=0; } int CPhonePictureDlg::SearchAddress(long address,long address1) { int count; count=0; for(int i=0;i<FileSize;i+=4) { if(*(long*)(FileBuf+i)!=address) continue; *(long*)(FileBuf+i)=address1; count++; } return count; } BOOL CPhonePictureDlg::loadpictab() { /* HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_PICTAB), TEXT("BIN")); if (NULL == hRsrc) return FALSE; //삿혤栗都돨댕鬼 DWORD dwSize = SizeofResource(NULL, hRsrc); if (0 == dwSize) return FALSE; //속潼栗都 HGLOBAL hGlobal = LoadResource(NULL, hRsrc); if (NULL == hGlobal) return FALSE; //傑땍栗都 LPVOID puffer = LockResource(hGlobal); if (NULL == puffer) return FALSE; else { TabBuf=(char*)puffer; TabLen=dwSize; } */ return TRUE; char szFileFilter[]= "BIN File(*.Bin)|*.Bin|" "SKD File(*.SKD)|*.SKD|" "BMP File(*.BMP)|*.BMP|" "All File(*.*)|*.*|"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()==IDOK) { FileName=dlg.GetPathName(); CFile File(FileName,CFile::modeRead); TabLen=File.GetLength(); TabBuf=(char*) malloc(TabLen); File.ReadHuge(TabBuf,TabLen); File.Close(); m_PicNum.SetMax(TabLen/4); } return TRUE; } void CPhonePictureDlg::OnChangeSCROLLBARHorizontal4() { int k; if(needadd!=0) { k=m_PicNum.GetValue(); PicEditAdd=*(long*)(TabBuf+k*4); m_PicEditAdd=Hex2Str(PicEditAdd); PicWidth=*(unsigned short*)(FileBuf+PicEditAdd); PicHigh=*(unsigned short*)(FileBuf+PicEditAdd+2); m_PicWidth=PicWidth; m_PicHigh=PicHigh; UpdateData(false); } else STEPY+=PicWidth*PicHigh*2; } void CPhonePictureDlg::OnScrollSCROLLBARHorizontal4() { int k; if(needadd!=0) { k=m_PicNum.GetValue(); PicEditAdd=*(long*)(TabBuf+k*4); m_PicEditAdd=Hex2Str(PicEditAdd); PicWidth=*(unsigned short*)(FileBuf+PicEditAdd); PicHigh=*(unsigned short*)(FileBuf+PicEditAdd+2); m_PicWidth=PicWidth; m_PicHigh=PicHigh; UpdateData(false); } else STEPY+=PicWidth*PicHigh*2; } void CPhonePictureDlg::OnRadio1() { needadd=1; } void CPhonePictureDlg::OnRadio2() { // TODO: Add your control notification handler code here needadd=0; } void CPhonePictureDlg::OnRadio3() { // TODO: Add your control notification handler code here needpack=1; } void CPhonePictureDlg::OnRadio4() { // TODO: Add your control notification handler code here needpack=0; } long CPhonePictureDlg::packbmp(char *buf,long len) { char *pbuf,*tempadd; int x,y,num; unsigned char R,G,B; short tempdata; len=2*PicHigh*PicWidth; pbuf=(char*)malloc(len); for(int j=0;jbuf+54+(PicHigh-j-1)*(PicWidth*3+4-PicWidth*3%4)+i*3; else tempadd=buf+54+(PicHigh-j-1)*(PicWidth*3)+i*3; B=*(char*)(tempadd); G=*(char*)(tempadd+1); R=*(char*)(tempadd+2); short color= ConverColor24t16(R,G,B); *(short*)(pbuf+2*j*PicWidth+2*i)=color; } len=PicWidth*PicHigh; long pos,pos1; pos=0; pos1=0; num=0; tempdata=*(short*)(pbuf); num++; for(x=1;xbuf+2*x)==tempdata) { num++; continue; } else { if(num<3) { for(int i=0;iBuf+2*i+pos)=*(short*)(pbuf+2*i+pos1); pos+=2*num; pos1+=2*num; num=1; tempdata=*(short*)(pbuf+2*x); continue; } else { *(short*)(BmpTitleBuf+pos)=0xad45; *(short*)(BmpTitleBuf+pos+2)=num; *(short*)(BmpTitleBuf+pos+4)=tempdata; pos1+=2*num; pos+=6; num=1; tempdata=*(short*)(pbuf+2*x); continue; } } } if(num<3) { for(int i=0;iBuf+2*i+pos)=*(short*)(pbuf+2*i+pos1); pos+=2*num; } else { *(short*)(BmpTitleBuf+pos)=0xad45; *(short*)(BmpTitleBuf+pos+2)=num; *(short*)(BmpTitleBuf+pos+4)=tempdata; pos+=6; } return pos; } unsigned long CPhonePictureDlg::ConverColor12t24(short D) { int r,g,b; unsigned long color; if (D==0 || D==0xfff) return D; r=D&0xf00; r=r>>8; r=r*255/16; g=((D&0xf0;)>>4)*255/16; b=(D&0xf;)*255/16; color=b<<16|g<<8|r; return color; } unsigned long CPhonePictureDlg::ConverColor18t24(unsigned long color) { int r,g,b; unsigned long D; D=color&0x3ffff; if (D==0) return D; if(D==0X3FFFF) return 0xffffff; r=D&0x3f000; r=r>>12; r=r*255/63; g=((D&0xfc0;)>>6)*255/63; b=(D&0x3f;)*255/63; color=b<<16|g<<8|r; return color; } unsigned long CPhonePictureDlg::ConverColor24t18(unsigned char R, unsigned char G, unsigned char B) { unsigned long color; float x; color=0; R=R*63/255; G=G*63/255; B=B*63/255; color=R<<12|G<<6|B; return color; } void CPhonePictureDlg::OnBeforeDragOverImage1(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift) { // TODO: Add your control notification handler code here } void CPhonePictureDlg::OnBeforeDragOverSCROLLBARHorizontal2(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift) { // TODO: Add your control notification handler code here }
1)VsDll为vs2010工程,编译生成动态库。 2)BCBCall为bcb工程,调用动态库 3)Viewdll.exe为查看DLL导出文件的工具。 注意事项一: VSDll里面有一个 KpHttps.def LIBRARY "KpHttps" EXPORTS InitKpHttp Project > Properties... > Linker > Input > Module Definition File 里面加入你刚才的KpHttps.def文件,重新编译就行了。出来的InitKpHttp函数前面没有下划线,后面没有@8或者@ABCDEF之类的。 注意事项二: 用C++Builder的implib工具生成DLL对应的lib文件。如:implib xx.lib xxx.dll。 生成lib文件之后,C++Builder便可以使用这个lib文件了。 注意事项三: 文件头的声明应该完全一样,否则(呵呵),会出现链接错误。 #ifdef DLL_API #define DLL_API extern "C" _declspec(dllexport) #else #define DLL_API extern "C" _declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif DECLDIR int __stdcall InitKpHttp(void); DECLDIR int UnInitKpHttp(void); DECLDIR int KpHttpRequest(char *strurl,char *strhost,char *strresult,int &resultle;); DECLDIR int KpHttpsRequest(char *strurl,char *strhost,char *strresult,int &resultle;); DECLDIR int KpHttpPost(char *strurl,char *strhost,char *strPost,int postlen,char *strresult,int &resultle;); DECLDIR int KpHttpsPost(char *strurl,char *strhost,char *strPost,int postlen,char *strresult,int &resultle;); DECLDIR int KpUpLoadFile(char *strurl,char *strhost,char *filebuf,int filelen,char *strresult,int &resultle;); DECLDIR int KpDownLoadFile(char *strurl,char *strhost,char *filebuf,int &filelen;,char *strresult,int &resultle;); #ifdef __cplusplus } #endif
介绍说明 C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源代码\ASCTIME.C C标准库源代码\ASSERT.C C标准库源代码\ASSERT.H C标准库源代码\ATOF.C C标准库源代码\ATONEXIT.C C 标准库源代码\ATOX.C C标准库源代码\AWINT.H C标准库源代码\AW_COM.C C标准库源代码\A_CMP.C C 标准库源代码\A_ENV.C C标准库源代码\A_LOC.C C标准库源代码\A_MAP.C C标准库源代码\A_STR.C C 标准库源代码\BINMODE.C C标准库源代码\BITSET C标准库源代码\BLDNT.CMD C标准库源代码\BLDWIN95.BAT C标准库源代码\BSEARCH.C C标准库源代码\CALLOC.C C标准库源代码\CASSERT C标准库源代码\CCTYPE C标准库源代码\CENVARG.C C标准库源代码\CERRINIT.CPP C 标准库源代码\CERRNO C标准库源代码\CFINFO.C C标准库源代码\CFLOAT C标准库源代码\CGETS.C C 标准库源代码\CHARMAX.C C标准库源代码\CHDIR.C C标准库源代码\CHMOD.C C标准库源代码\CHSIZE.C C标准库源代码\CININIT.CPP C标准库源代码\CINITEXE.C C标准库源代码\CISO646 C标准库源代码\CLEARERR.C C标准库源代码\CLIMITS C标准库源代码\CLOCALE C 标准库源代码\CLOCK.C C标准库源代码\CLOGINIT.CPP C标准库源代码\CLOSE.C C标准库源代码\CLOSEALL.C C标准库源代码\CMATH C标准库源代码\CMISCDAT.C C标准库源代码\CMSGS.H C 标准库源代码\COMMIT.C C标准库源代码\COMMODE.C C标准库源代码\COMPLEX C标准库源代码\CONIO.H C标准库源代码\CPRINTF.C C标准库源代码\CPUTS.C C标准库源代码\CREAT.C C 标准库源代码\CRT0.C C标准库源代码\CRT0DAT.C C标准库源代码\CRT0FP.C C标准库源代码\CRT0INIT.C C标准库源代码\CRT0MSG.C C标准库源代码\CRTDBG.H C标准库源代码\CRTDLL.C C标准库源代码\CRTEXE.C C标准库源代码\CRTEXEW.C C标准库源代码\CRTLIB.C C 标准库源代码\CRTMBOX.C C标准库源代码\CRUNTIME.H C标准库源代码\CRUNTIME.INC C标准库源代码\CSCANF.C C标准库源代码\CSETJMP C标准库源代码\CSIGNAL C标准库源代码\CSTDARG C 标准库源代码\CSTDDEF C标准库源代码\CSTDIO C标准库源代码\CSTDLIB C标准库源代码\CSTRING C 标准库源代码\CTIME C标准库源代码\CTIME.C C标准库源代码\CTIME.H C标准库源代码\CTYPE.C C 标准库源代码\CTYPE.H C标准库源代码\CVT.H C标准库源代码\CWCHAR C标准库源代码\CWCTYPE C 标准库源代码\DAYS.C C标准库源代码\DBGDEL.CPP C标准库源代码\DBGHEAP.C C标准库源代码\DBGHOOK.C C标准库源代码\DBGINT.H C标准库源代码\DBGNEW.CPP C标准库源代码\DBGRPT.C C标准库源代码\DEFSECTS.INC C标准库源代码\DELETE.CPP C标准库源代码\DELOP.CPP C标准库源代码\DELOP_S.CPP C标准库源代码\DEQUE C标准库源代码\DIFFTIME.C C标准库源代码\DIRECT.H C标准库源代码\DIV.C C标准库源代码\DLLARGV.C C 标准库源代码\DLLCRT0.C C标准库源代码\DLLDEF.CPP C标准库源代码\DLLMAIN.C C标准库源代码\DLL_ARGV.C C标准库源代码\DOS.H C标准库源代码\DOSMAP.C C标准库源代码\DOSPAWN.C C 标准库源代码\DOSTYPES.H C标准库源代码\DRIVE.C C标准库源代码\DRIVEMAP.C C标准库源代码\DRIVFREE.C C标准库源代码\DTOXTIME.C C标准库源代码\DUP.C C标准库源代码\DUP2.C C 标准库源代码\EOF.C C标准库源代码\ERRMODE.C C标准库源代码\ERRMSG.H C标准库源代码\ERRNO.H C 标准库源代码\EXCEPT.INC C标准库源代码\EXCPT.H C标准库源代码\EXECL.C C标准库源代码\EXECLE.C C标准库源代码\EXECLP.C C标准库源代码\EXECLPE.C C标准库源代码\EXECV.C C 标准库源代码\EXECVE.C C标准库源代码\EXECVP.C C标准库源代码\EXECVPE.C C标准库源代码\EXPAND.C C标准库源代码\EXSUP.INC C标准库源代码\FCLOSE.C C标准库源代码\FCNTL.H C 标准库源代码\FCTIONAL C标准库源代码\FCVT.C C标准库源代码\FDOPEN.C C标准库源代码\FEOFERR.C C标准库源代码\FFLUSH.C C标准库源代码\FGETC.C C标准库源代码\FGETCHAR.C C 标准库源代码\FGETPOS.C C标准库源代码\FGETS.C C标准库源代码\FGETWC.C C标准库源代码\FGETWCHR.C C标准库源代码\FGETWS.C C标准库源代码\FILE2.H C标准库源代码\FILEBUF.CPP C标准库源代码\FILEBUF1.CPP C标准库源代码\FILEINFO.C C标准库源代码\FILENO.C C标准库源代码\FINDADDR.C C标准库源代码\FINDFI64.C C标准库源代码\FINDFILE.C C标准库源代码\FIOPEN.CPP C标准库源代码\FLENGTH.C C标准库源代码\FLENI64.C C标准库源代码\FLOAT.H C标准库源代码\FLTINTRN.H C标准库源代码\FOPEN.C C 标准库源代码\FP10.C C标准库源代码\FPIEEE.H C标准库源代码\FPRINTF.C C标准库源代码\FPUTC.C C标准库源代码\FPUTCHAR.C C标准库源代码\FPUTS.C C标准库源代码\FPUTWC.C C 标准库源代码\FPUTWCHR.C C标准库源代码\FPUTWS.C C标准库源代码\FREAD.C C标准库源代码\FREE.C C标准库源代码\FREOPEN.C C标准库源代码\FSCANF.C C标准库源代码\FSEEK.C C 标准库源代码\FSEEKI64.C C标准库源代码\FSETPOS.C C标准库源代码\FSTAT.C C标准库源代码\FSTATI64.C C标准库源代码\FSTREAM C标准库源代码\FSTREAM.CPP C标准库源代码\FSTREAM.H C标准库源代码\FTELL.C C标准库源代码\FTELLI64.C C标准库源代码\FTIME.C C 标准库源代码\FULLPATH.C C标准库源代码\FWPRINTF.C C标准库源代码\FWRITE.C C标准库源代码\FWSCANF.C C标准库源代码\GCVT.C C标准库源代码\GETCH.C C标准库源代码\GETCWD.C C 标准库源代码\GETENV.C C标准库源代码\GETPATH.C C标准库源代码\GETPID.C C标准库源代码\GETPROC.C C标准库源代码\GETQLOC.C C标准库源代码\GETS.C C标准库源代码\GETW.C C 标准库源代码\GETWS.C C标准库源代码\GMTIME.C C标准库源代码\HANDLER.CPP C标准库源代码\HEAP.H C标准库源代码\HEAPADD.C C标准库源代码\HEAPCHK.C C标准库源代码\HEAPDUMP.C C 标准库源代码\HEAPGROW.C C标准库源代码\HEAPHOOK.C C标准库源代码\HEAPINIT.C C标准库源代码\HEAPMIN.C C标准库源代码\HEAPPRM.C C标准库源代码\HEAPSRCH.C C标准库源代码\HEAPUSED.C C标准库源代码\HEAPWALK.C C标准库源代码\HPABORT.C C标准库源代码\IFSTREAM.CPP C标准库源代码\INITCOLL.C C标准库源代码\INITCON.C C标准库源代码\INITCTYP.C C标准库源代码\INITHELP.C C标准库源代码\INITMON.C C标准库源代码\INITNUM.C C标准库源代码\INITTIME.C C标准库源代码\INPUT.C C标准库源代码\INTERNAL.H C标准库源代码\IO.H C标准库源代码\IOINIT.C C标准库源代码\IOMANIP C 标准库源代码\IOMANIP.CPP C标准库源代码\IOMANIP.H C标准库源代码\IOS C标准库源代码\IOS.CPP C标准库源代码\IOS.H C标准库源代码\IOSFWD C标准库源代码\IOSTREAM C标准库源代码\IOSTREAM.CPP C标准库源代码\IOSTREAM.H C标准库源代码\IOSTRINI.CPP C标准库源代码\IOS_DLL.C C标准库源代码\ISATTY.C C标准库源代码\ISCTYPE.C C标准库源代码\ISMBALNM.C C标准库源代码\ISMBALPH.C C标准库源代码\ISMBBYTE.C C标准库源代码\ISMBDGT.C C标准库源代码\ISMBGRPH.C C标准库源代码\ISMBKNJ.C C标准库源代码\ISMBLGL.C C标准库源代码\ISMBLWR.C C标准库源代码\ISMBPRN.C C标准库源代码\ISMBPUNC.C C标准库源代码\ISMBSLE.C C标准库源代码\ISMBSPC.C C标准库源代码\ISMBSTR.C C标准库源代码\ISMBUPR.C C标准库源代码\ISO646.H C标准库源代码\ISTRCHAR.CPP C标准库源代码\ISTRDBL.CPP C标准库源代码\ISTREAM C标准库源代码\ISTREAM.CPP C标准库源代码\ISTREAM.H C标准库源代码\ISTREAM1.CPP C标准库源代码\ISTRFLT.CPP C标准库源代码\ISTRGDBL.CPP C标准库源代码\ISTRGET.CPP C标准库源代码\ISTRGETL.CPP C标准库源代码\ISTRGINT.CPP C标准库源代码\ISTRINT.CPP C标准库源代码\ISTRLDBL.CPP C标准库源代码\ISTRLONG.CPP C标准库源代码\ISTRSHRT.CPP C标准库源代码\ISTRUINT.CPP C标准库源代码\ISTRULNG.CPP C标准库源代码\ISTRUSHT.CPP C标准库源代码\ISWCTYPE.C C标准库源代码\ITERATOR C标准库源代码\LABS.C C标准库源代码\LCNVINIT.C C 标准库源代码\LCONV.C C标准库源代码\LDIV.C C标准库源代码\LFIND.C C标准库源代码\LIMITS C 标准库源代码\LIMITS.H C标准库源代码\LIST C标准库源代码\LOADDLL.C C标准库源代码\LOCALE C 标准库源代码\LOCALE.CPP C标准库源代码\LOCALE.H C标准库源代码\LOCALE0.CPP C标准库源代码\LOCALTIM.C C标准库源代码\LOCKING.C C标准库源代码\LSEARCH.C C标准库源代码\LSEEK.C C标准库源代码\LSEEKI64.C C标准库源代码\MAKEFILE C标准库源代码\MAKEFILE.INC C标准库源代码\MAKEFILE.SUB C标准库源代码\MAKEPATH.C C标准库源代码\MALLOC.C C标准库源代码\MALLOC.H C标准库源代码\MAP C标准库源代码\MATH.H C标准库源代码\MBBTYPE.C C标准库源代码\MBCCPY.C C标准库源代码\MBCLEN.C C标准库源代码\MBCLEVEL.C C标准库源代码\MBCTYPE.C C标准库源代码\MBCTYPE.H C标准库源代码\MBDATA.H C标准库源代码\MBLEN.C C标准库源代码\MBSBTYPE.C C标准库源代码\MBSCAT.C C 标准库源代码\MBSCHR.C C标准库源代码\MBSCMP.C C标准库源代码\MBSCOLL.C C标准库源代码\MBSCSPN.C C标准库源代码\MBSDEC.C C标准库源代码\MBSDUP.C C标准库源代码\MBSICMP.C C 标准库源代码\MBSICOLL.C C标准库源代码\MBSINC.C C标准库源代码\MBSLEN.C C标准库源代码\MBSLWR.C C标准库源代码\MBSNBCAT.C C标准库源代码\MBSNBCMP.C C标准库源代码\MBSNBCNT.C C标准库源代码\MBSNBCOL.C C标准库源代码\MBSNBCPY.C C标准库源代码\MBSNBICM.C C标准库源代码\MBSNBICO.C C标准库源代码\MBSNBSET.C C标准库源代码\MBSNCAT.C C标准库源代码\MBSNCCNT.C C标准库源代码\MBSNCMP.C C标准库源代码\MBSNCOLL.C C标准库源代码\MBSNCPY.C C标准库源代码\MBSNEXTC.C C标准库源代码\MBSNICMP.C C标准库源代码\MBSNICOL.C C标准库源代码\MBSNINC.C C标准库源代码\MBSNSET.C C标准库源代码\MBSPBRK.C C标准库源代码\MBSRCHR.C C标准库源代码\MBSREV.C C标准库源代码\MBSSET.C C标准库源代码\MBSSPN.C C标准库源代码\MBSSPNP.C C 标准库源代码\MBSSTR.C C标准库源代码\MBSTOK.C C标准库源代码\MBSTOWCS.C C标准库源代码\MBSTRING.H C标准库源代码\MBSUPR.C C标准库源代码\MBTOHIRA.C C标准库源代码\MBTOKATA.C C标准库源代码\MBTOLWR.C C标准库源代码\MBTOUPR.C C标准库源代码\MBTOWC.C C标准库源代码\MBTOWENV.C C标准库源代码\MEMCCPY.C C标准库源代码\MEMCHR.C C标准库源代码\MEMCMP.C C标准库源代码\MEMCPY.C C标准库源代码\MEMICMP.C C 标准库源代码\MEMMOVE.C C标准库源代码\MEMORY C标准库源代码\MEMORY.H C标准库源代码\MEMSET.C C标准库源代码\MERR.C C标准库源代码\MINMAX.H C标准库源代码\MKDIR.C C 标准库源代码\MKTEMP.C C标准库源代码\MKTIME.C C标准库源代码\MLOCK.C C标准库源代码\MM.INC C 标准库源代码\MSDOS.H C标准库源代码\MSIZE.C C标准库源代码\MTDLL.H C标准库源代码\MTERRNO.C C标准库源代码\MTLOCK.C C标准库源代码\NCOMMODE.C C标准库源代码\NEW C 标准库源代码\NEW.CPP C标准库源代码\NEW.H C标准库源代码\NEWMODE.C C标准库源代码\NEWOP.CPP C标准库源代码\NEWOP2.CPP C标准库源代码\NEWOP2_S.CPP C标准库源代码\NEWOP_S.CPP C标准库源代码\NEW_MODE.CPP C标准库源代码\NLSDATA1.C C标准库源代码\NLSDATA2.C C标准库源代码\NLSDATA3.C C标准库源代码\NLSINT.H C标准库源代码\NMKTOBAT.C C标准库源代码\NOMEMORY.CPP C标准库源代码\NUMERIC C标准库源代码\OFSTREAM.CPP C标准库源代码\ONEXIT.C C标准库源代码\OPEN.C C标准库源代码\OSCALLS.H C标准库源代码\OSFINFO.C C标准库源代码\OSTRCHAR.CPP C标准库源代码\OSTRDBL.CPP C标准库源代码\OSTREAM C标准库源代码\OSTREAM.CPP C标准库源代码\OSTREAM.H C标准库源代码\OSTREAM1.CPP C标准库源代码\OSTRINT.CPP C标准库源代码\OSTRLDBL.CPP C标准库源代码\OSTRLONG.CPP C标准库源代码\OSTRPTR.CPP C标准库源代码\OSTRPUT.CPP C标准库源代码\OSTRSHRT.CPP C标准库源代码\OSTRUINT.CPP C标准库源代码\OSTRULNG.CPP C标准库源代码\OSTRUSHT.CPP C标准库源代码\OUTPUT.C C标准库源代码\PERROR.C C标准库源代码\PIPE.C C标准库源代码\PLSTRING.H C标准库源代码\POPEN.C C 标准库源代码\PRINTF.C C标准库源代码\PROCESS.H C标准库源代码\PUREVIRT.C C标准库源代码\PUTCH.C C标准库源代码\PUTENV.C C标准库源代码\PUTS.C C标准库源代码\PUTW.C C标准库源代码\PUTWS.C C标准库源代码\QSORT.C C标准库源代码\QUEUE C标准库源代码\RAND.C C标准库源代码\READ.C C标准库源代码\REALLOC.C C标准库源代码\RENAME.C C标准库源代码\REWIND.C C标准库源代码\RMDIR.C C标准库源代码\RMTMP.C C标准库源代码\ROTL.C C标准库源代码\ROTR.C C标准库源代码\RTERR.H C标准库源代码\SAMPLD_I.DEF C标准库源代码\SAMPLD_P.DEF C标准库源代码\SAMPLE_I.DEF C标准库源代码\SAMPLE_I.RC C标准库源代码\SAMPLE_P.DEF C标准库源代码\SAMPLE_P.RC C标准库源代码\SBHEAP.C C标准库源代码\SCANF.C C标准库源代码\SEARCH.H C标准库源代码\SEARCHEN.C C标准库源代码\SET C标准库源代码\SETARGV.C C标准库源代码\SETBUF.C C标准库源代码\SETENV.C C标准库源代码\SETERRM.C C标准库源代码\SETJMP.H C标准库源代码\SETJMPEX.H C标准库源代码\SETLOCAL.C C标准库源代码\SETLOCAL.H C标准库源代码\SETMAXF.C C标准库源代码\SETMODE.C C标准库源代码\SETNEWH.CPP C标准库源代码\SETVBUF.C C标准库源代码\SHARE.H C标准库源代码\SIGNAL.H C标准库源代码\SLBEEP.C C标准库源代码\SNPRINTF.C C 标准库源代码\SNWPRINT.C C标准库源代码\SPAWNL.C C标准库源代码\SPAWNLE.C C标准库源代码\SPAWNLP.C C标准库源代码\SPAWNLPE.C C标准库源代码\SPAWNV.C C标准库源代码\SPAWNVE.C C标准库源代码\SPAWNVP.C C标准库源代码\SPAWNVPE.C C标准库源代码\SPLITPAT.C C标准库源代码\SPRINTF.C C标准库源代码\SSCANF.C C标准库源代码\SSTREAM C 标准库源代码\STACK C标准库源代码\STAT.C C标准库源代码\STATI64.C C标准库源代码\STDARG.H C 标准库源代码\STDARGV.C C标准库源代码\STDDEF.H C标准库源代码\STDENVP.C C标准库源代码\STDEXCPT.H C标准库源代码\STDIO.H C标准库源代码\STDIOSTR.CPP C标准库源代码\STDIOSTR.H C标准库源代码\STDLIB.H C标准库源代码\STDXCEPT C标准库源代码\STRCAT.C C 标准库源代码\STRCHR.C C标准库源代码\STRCMP.C C标准库源代码\STRCOLL.C C标准库源代码\STRCSPN.C C标准库源代码\STRDATE.C C标准库源代码\STRDUP.C C标准库源代码\STREAM.C C 标准库源代码\STREAMB.CPP C标准库源代码\STREAMB.H C标准库源代码\STREAMB1.CPP C标准库源代码\STREAMBF C标准库源代码\STRERROR.C C标准库源代码\STRFTIME.C C标准库源代码\STRICMP.C C标准库源代码\STRICOLL.C C标准库源代码\STRING C标准库源代码\STRING.CPP C标准库源代码\STRING.H C标准库源代码\STRLEN.C C标准库源代码\STRLWR.C C 标准库源代码\STRMBDBP.CPP C标准库源代码\STRNCAT.C C标准库源代码\STRNCMP.C C标准库源代码\STRNCOLL.C C标准库源代码\STRNCPY.C C标准库源代码\STRNICMP.C C标准库源代码\STRNICOL.C C标准库源代码\STRNSET.C C标准库源代码\STRPBRK.C C标准库源代码\STRRCHR.C C标准库源代码\STRREV.C C标准库源代码\STRSET.C C标准库源代码\STRSPN.C C 标准库源代码\STRSTR.C C标准库源代码\STRSTREA.CPP C标准库源代码\STRSTREA.H C标准库源代码\STRSTREM C标准库源代码\STRTIME.C C标准库源代码\STRTOD.C C标准库源代码\STRTOK.C C 标准库源代码\STRTOL.C C标准库源代码\STRTOQ.C C标准库源代码\STRUPR.C C标准库源代码\STRXFRM.C C标准库源代码\STUBS.C C标准库源代码\SWAB.C C标准库源代码\SWPRINTF.C C 标准库源代码\SWSCANF.C C标准库源代码\SYSERR.C C标准库源代码\SYSERR.H C标准库源代码\SYSTEM.C C标准库源代码\SYSTIME.C C标准库源代码\TCHAR.H C标准库源代码\TELL.C C 标准库源代码\TELLI64.C C标准库源代码\TEMPNAM.C C标准库源代码\THREAD.C C标准库源代码\THREADEX.C C标准库源代码\TIDPRINT.C C标准库源代码\TIDTABLE.C C标准库源代码\TIME.C C标准库源代码\TIME.H C标准库源代码\TIMEB.INC C标准库源代码\TIMESET.C C 标准库源代码\TI_INST.CPP C标准库源代码\TMPFILE.C C标准库源代码\TOJISJMS.C C标准库源代码\TOLOWER.C C标准库源代码\TOMBBMBC.C C标准库源代码\TOUPPER.C C标准库源代码\TOWLOWER.C C标准库源代码\TOWUPPER.C C标准库源代码\TRNSCTRL.H C标准库源代码\TXTMODE.C C标准库源代码\TYPEINFO C标准库源代码\TYPEINFO.H C标准库源代码\TZSET.C C 标准库源代码\UMASK.C C标准库源代码\UNCAUGHT.CPP C标准库源代码\UNGETC.C C标准库源代码\UNGETWC.C C标准库源代码\UNLINK.C C标准库源代码\USEOLDIO.H C标准库源代码\USE_ANSI.H C标准库源代码\UTILITY C标准库源代码\UTIME.C C标准库源代码\V2TOV3.H C 标准库源代码\VALARRAY C标准库源代码\VARARGS.H C标准库源代码\VECTOR C标准库源代码\VFPRINTF.C C标准库源代码\VFWPRINT.C C标准库源代码\VPRINTF.C C标准库源代码\VSNPRINT.C C标准库源代码\VSNWPRNT.C C标准库源代码\VSPRINTF.C C标准库源代码\VSWPRINT.C C标准库源代码\VWPRINTF.C C标准库源代码\WACCESS.C C标准库源代码\WAIT.C C标准库源代码\WASCTIME.C C标准库源代码\WCENVARG.C C标准库源代码\WCHAR.H C 标准库源代码\WCHDIR.C C标准库源代码\WCHMOD.C C标准库源代码\WCREAT.C C标准库源代码\WCRT0.C C标准库源代码\WCRTEXE.C C标准库源代码\WCRTEXEW.C C标准库源代码\WCSCAT.C C 标准库源代码\WCSCHR.C C标准库源代码\WCSCMP.C C标准库源代码\WCSCOLL.C C标准库源代码\WCSCSPN.C C标准库源代码\WCSDUP.C C标准库源代码\WCSFTIME.C C标准库源代码\WCSICMP.C C标准库源代码\WCSICOLL.C C标准库源代码\WCSLEN.C C标准库源代码\WCSLWR.C C标准库源代码\WCSNCAT.C C标准库源代码\WCSNCMP.C C标准库源代码\WCSNCOLL.C C标准库源代码\WCSNCPY.C C标准库源代码\WCSNICMP.C C标准库源代码\WCSNICOL.C C标准库源代码\WCSNSET.C C标准库源代码\WCSPBRK.C C标准库源代码\WCSRCHR.C C标准库源代码\WCSREV.C C标准库源代码\WCSSET.C C标准库源代码\WCSSPN.C C 标准库源代码\WCSSTR.C C标准库源代码\WCSTOD.C C标准库源代码\WCSTOK.C C标准库源代码\WCSTOL.C C标准库源代码\WCSTOMBS.C C标准库源代码\WCSUPR.C C标准库源代码\WCSXFRM.C C标准库源代码\WCTIME.C C标准库源代码\WCTOMB.C C标准库源代码\WCTRANS.C C 标准库源代码\WCTYPE.C C标准库源代码\WCTYPE.H C标准库源代码\WDLLARGV.C C标准库源代码\WDOSPAWN.C C标准库源代码\WEXECL.C C标准库源代码\WEXECLE.C C标准库源代码\WEXECLP.C C标准库源代码\WEXECLPE.C C标准库源代码\WEXECV.C C标准库源代码\WEXECVE.C C标准库源代码\WEXECVP.C C标准库源代码\WEXECVPE.C C标准库源代码\WFDOPEN.C C标准库源代码\WFINDFIL.C C标准库源代码\WFNDFI64.C C标准库源代码\WFOPEN.C C标准库源代码\WFREOPEN.C C标准库源代码\WFULLPAT.C C标准库源代码\WGETCWD.C C标准库源代码\WGETENV.C C标准库源代码\WGETPATH.C C标准库源代码\WILD.C C 标准库源代码\WILDCARD.C C标准库源代码\WIN32S.H C标准库源代码\WINCMDLN.C C标准库源代码\WINCRT0.C C标准库源代码\WINHEAP.H C标准库源代码\WINPUT.C C标准库源代码\WINSIG.C C 标准库源代码\WINXFLTR.C C标准库源代码\WIOSTREA.CPP C标准库源代码\WLOCALE.CPP C标准库源代码\WMAKEPAT.C C标准库源代码\WMKDIR.C C标准库源代码\WMKTEMP.C C标准库源代码\WOPEN.C C标准库源代码\WOUTPUT.C C标准库源代码\WPERROR.C C标准库源代码\WPOPEN.C C 标准库源代码\WPRINTF.C C标准库源代码\WPUTENV.C C标准库源代码\WRENAME.C C标准库源代码\WRITE.C C标准库源代码\WRMDIR.C C标准库源代码\WRT2ERR.C C标准库源代码\WSCANF.C C 标准库源代码\WSEARCHE.C C标准库源代码\WSETARGV.C C标准库源代码\WSETENV.C C标准库源代码\WSETLOCA.C C标准库源代码\WSPAWNL.C C标准库源代码\WSPAWNLE.C C标准库源代码\WSPAWNLP.C C标准库源代码\WSPAWNV.C C标准库源代码\WSPAWNVE.C C标准库源代码\WSPAWNVP.C C标准库源代码\WSPLITPA.C C标准库源代码\WSPWNLPE.C C标准库源代码\WSPWNVPE.C C标准库源代码\WSTAT.C C标准库源代码\WSTATI64.C C标准库源代码\WSTDARGV.C C标准库源代码\WSTDENVP.C C标准库源代码\WSTRDATE.C C标准库源代码\WSTRTIME.C C标准库源代码\WSYSTEM.C C标准库源代码\WTEMPNAM.C C标准库源代码\WTMPFILE.C C标准库源代码\WTOMBENV.C C标准库源代码\WTOX.C C标准库源代码\WUNLINK.C C标准库源代码\WUTIME.C C标准库源代码\WWILD.C C标准库源代码\WWINCRT0.C C 标准库源代码\WWNCMDLN.C C标准库源代码\W_CMP.C C标准库源代码\W_ENV.C C标准库源代码\W_LOC.C C标准库源代码\W_MAP.C C标准库源代码\W_STR.C C标准库源代码\XCEPTION C 标准库源代码\XCOMPLEX C标准库源代码\XCOSH.C C标准库源代码\XDNORM.C C标准库源代码\XDSCALE.C C标准库源代码\XDTEST.C C标准库源代码\XEXP.C C标准库源代码\XFCOSH.C C 标准库源代码\XFDNORM.C C标准库源代码\XFDSCALE.C C标准库源代码\XFDTEST.C C标准库源代码\XFEXP.C C标准库源代码\XFSINH.C C标准库源代码\XFVALUES.C C标准库源代码\XIOSBASE C 标准库源代码\XLCOSH.C C标准库源代码\XLDNORM.C C标准库源代码\XLDSCALE.C C标准库源代码\XLDTEST.C C标准库源代码\XLEXP.C C标准库源代码\XLOCALE C标准库源代码\XLOCALE.CPP C 标准库源代码\XLOCINFO C标准库源代码\XLOCINFO.H C标准库源代码\XLOCK.CPP C标准库源代码\XLOCMON C标准库源代码\XLOCNUM C标准库源代码\XLOCTIME C标准库源代码\XLPOLY.C C 标准库源代码\XLSINH.C C标准库源代码\XLVALUES.C C标准库源代码\XMATH.H C标准库源代码\XMBTOWC.C C标准库源代码\XMEMORY C标准库源代码\XNCOMMOD.C C标准库源代码\XPOLY.C C 标准库源代码\XSINH.C C标准库源代码\XSTDDEF C标准库源代码\XSTOD.C C标准库源代码\XSTRCOLL.C C标准库源代码\XSTRING C标准库源代码\XSTRXFRM.C C标准库源代码\XTOA.C C 标准库源代码\XTOW.C C标准库源代码\XTREE C标准库源代码\XTXTMODE.C C标准库源代码\XUTILITY C 标准库源代码\XVALUES.C C标准库源代码\XWCSCOLL.C C标准库源代码\XWCSXFRM.C C标准库源代码\XWCTOMB.C C标准库源代码\YMATH.H C标准库源代码\YVALS.H C标准库源代码\_CTYPE.C C 标准库源代码\_FILBUF.C C标准库源代码\_FILE.C C标准库源代码\_FILWBUF.C C标准库源代码\_FLSBUF.C C标准库源代码\_FLSWBUF.C C标准库源代码\_FPTOSTR.C C标准库源代码\_FREEBUF.C C标准库源代码\_GETBUF.C C标准库源代码\_IOS.CPP C标准库源代码\_IOSTREA.CPP C标准库源代码\_MBSLEN.C C标准库源代码\_NEWMODE.C C标准库源代码\_OPEN.C C标准库源代码\_SAMPLE_.RC C标准库源代码\_SETARGV.C C标准库源代码\_SFTBUF.C C标准库源代码\_STRERR.C C标准库源代码\_STRSTRE.CPP C标准库源代码\_TOLOWER.C C标准库源代码\_TOUPPER.C C标准库源代码\_WCTYPE.C C标准库源代码\_WOPEN.C C标准库源代码\_WSTARGV.C C标准库源代码\SYS\LOCKING.H C标准库源代码\SYS \STAT.H C标准库源代码\SYS\TIMEB.H C标准库源代码\SYS\TYPES.H C标准库源代码\SYS \UTIME.H C标准库源代码\SYS C标准库源代码\PLATFORM\CHKSTK.ASM C标准库源代码\PLATFORM\DLLSUPP.ASM C标准库源代码\PLATFORM\ENABLE.ASM C标准库源代码\PLATFORM\FP8.C C标准库源代码\PLATFORM\INP.ASM C标准库源代码\PLATFORM \LLDIV.ASM C标准库源代码\PLATFORM\LLMUL.ASM C标准库源代码\PLATFORM\LLREM.ASM C 标准库源代码\PLATFORM\LLSHL.ASM C标准库源代码\PLATFORM\LLSHR.ASM C标准库源代码\PLATFORM\MBSCAT.ASM C标准库源代码\PLATFORM\MEMCCPY.ASM C标准库源代码\PLATFORM\MEMCHR.ASM C标准库源代码\PLATFORM\MEMCMP.ASM C标准库源代码\PLATFORM \MEMCPY.ASM C标准库源代码\PLATFORM\MEMICMP.ASM C标准库源代码\PLATFORM \MEMMOVE.ASM C标准库源代码\PLATFORM\MEMSET.ASM C标准库源代码\PLATFORM\OUTP.ASM C 标准库源代码\PLATFORM\SDKNAMES.LIB C标准库源代码\PLATFORM\SEHSUPP.C C标准库源代码\PLATFORM\STRCAT.ASM C标准库源代码\PLATFORM\STRCHR.ASM C标准库源代码\PLATFORM \STRCMP.ASM C标准库源代码\PLATFORM\STRCSPN.ASM C标准库源代码\PLATFORM \STRICMP.ASM C标准库源代码\PLATFORM\STRLEN.ASM C标准库源代码\PLATFORM \STRNCAT.ASM C标准库源代码\PLATFORM\STRNCMP.ASM C标准库源代码\PLATFORM \STRNCPY.ASM C标准库源代码\PLATFORM\STRNICMP.ASM C标准库源代码\PLATFORM \STRNSET.ASM C标准库源代码\PLATFORM\STRPBRK.ASM C标准库源代码\PLATFORM \STRRCHR.ASM C标准库源代码\PLATFORM\STRREV.ASM C标准库源代码\PLATFORM \STRSET.ASM C标准库源代码\PLATFORM\STRSPN.ASM C标准库源代码\PLATFORM \STRSTR.ASM C标准库源代码\PLATFORM\TCMAP.LIB C标准库源代码\PLATFORM \TCMAPDLL.LIB C标准库源代码\PLATFORM\ULLDIV.ASM C标准库源代码\PLATFORM \ULLREM.ASM C标准库源代码\PLATFORM\ULLSHR.ASM C标准库源代码\PLATFORM \_SAMPLD_.DEF C标准库源代码\PLATFORM\_SAMPLE_.DEF C标准库源代码\PLATFORM \XST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XST_LIB\CONV.LIB C标准库源代码\PLATFORM\XST_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XST_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XST_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XST_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XST_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XST_LIB\INP.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XST_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XST_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XST_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XST_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XST_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XST_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XST_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XST_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XST_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XST_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XST_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XST_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XST_LIB\THROW.OBJ C标准库源代码\PLATFORM\XST_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XST_LIB\TRAN.LIB C标准库源代码\PLATFORM\XST_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XST_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XST_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XST_LIB\USER.OBJ C标准库源代码\PLATFORM\XST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XST_LIB C标准库源代码\PLATFORM\XMT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XMT_LIB\CONV.LIB C 标准库源代码\PLATFORM\XMT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XMT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XMT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XMT_LIB\INP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XMT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XMT_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XMT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\THROW.OBJ C标准库源代码\PLATFORM\XMT_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\TRAN.LIB C标准库源代码\PLATFORM\XMT_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XMT_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XMT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XMT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XMT_LIB\USER.OBJ C标准库源代码\PLATFORM\XMT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XMT_LIB C标准库源代码\PLATFORM\XDLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XDLL_LIB \CONV.LIB C标准库源代码\PLATFORM\XDLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XDLL_LIB \EHVECDTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \FRAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM \XDLL_LIB\INP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \LLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSDUP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \MEMCHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\OLDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB \OUTP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM \XDLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRCSPN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRDUP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCMP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRNICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\THROW.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\XDLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB \UNDNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XDLL_LIB\USER.OBJ C标准库源代码\PLATFORM\XDLL_LIB\VALIDATE.OBJ C 标准库源代码\PLATFORM\XDLL_LIB C标准库源代码\PLATFORM\ST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKSTK.OBJ C 标准库源代码\PLATFORM\ST_LIB\CONV.LIB C标准库源代码\PLATFORM\ST_LIB\EHPROLOG.OBJ C 标准库源代码\PLATFORM\ST_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\ST_LIB \EHVECCVB.OBJ C标准库源代码\PLATFORM\ST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\ST_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP3.OBJ C 标准库源代码\PLATFORM\ST_LIB\FRAME.OBJ C标准库源代码\PLATFORM\ST_LIB\HOOKS.OBJ C 标准库源代码\PLATFORM\ST_LIB\INP.OBJ C标准库源代码\PLATFORM\ST_LIB\LLDIV.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLSHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM\ST_LIB \LOWHELPR.OBJ C标准库源代码\PLATFORM\ST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM \ST_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCPY.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\ST_LIB \MEMMOVE.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM \ST_LIB\OUTP.OBJ C标准库源代码\PLATFORM\ST_LIB\RTTI.OBJ C标准库源代码\PLATFORM \ST_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMPEX.OBJ C 标准库源代码\PLATFORM\ST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\ST_LIB \STRCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM \ST_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\ST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \ST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\ST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\ST_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\ST_LIB\THROW.OBJ C 标准库源代码\PLATFORM\ST_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\TRAN.LIB C 标准库源代码\PLATFORM\ST_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\ST_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\ST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \ST_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\ST_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\ST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\ST_LIB\USER.OBJ C 标准库源代码\PLATFORM\ST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\ST_LIB C标准库源代码\PLATFORM\MT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\MT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\MT_LIB\CONV.LIB C 标准库源代码\PLATFORM\MT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\MT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\MT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\MT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\MT_LIB\INP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\LONGJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\MT_LIB \MATHERR.OBJ C标准库源代码\PLATFORM\MT_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM \MT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\MT_LIB\OUTP.OBJ C标准库源代码\PLATFORM\MT_LIB\RTTI.OBJ C 标准库源代码\PLATFORM\MT_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\MT_LIB\SETJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\MT_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\MT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\MT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \MT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\MT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\MT_LIB\THROW.OBJ C 标准库源代码\PLATFORM\MT_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\TRAN.LIB C 标准库源代码\PLATFORM\MT_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\MT_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\MT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \MT_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\MT_LIB\USER.OBJ C 标准库源代码\PLATFORM\MT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\MT_LIB C标准库源代码\PLATFORM\DLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\DLL_LIB\CONV.LIB C 标准库源代码\PLATFORM\DLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB \EHPROLOG.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECDTR.OBJ C 标准库源代码\PLATFORM\DLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\DLL_LIB\EXSUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\DLL_LIB \EXSUP3.OBJ C标准库源代码\PLATFORM\DLL_LIB\FRAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\DLL_LIB\INP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\DLL_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\DLL_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \DLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\DLL_LIB \OLDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\OUTP.OBJ C标准库源代码\PLATFORM \DLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM\DLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP3.OBJ C 标准库源代码\PLATFORM\DLL_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\DLL_LIB \STDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRDUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRLEN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNSET.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRSET.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\THROW.OBJ C 标准库源代码\PLATFORM\DLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\DLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\DLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\DLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\DLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\DLL_LIB \USER.OBJ C标准库源代码\PLATFORM\DLL_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM \DLL_LIB C标准库源代码\PLATFORM C标准库源代码

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧