由惱火的錯誤error C2275: ‘xxx’ : illegal use of this type as an expression所想到的

       在linux下調試一個C,通過,沒問題,因為linux是在伺服器上,大家公用的,所以都是在自己的機子上調試好了再拿去跑,但是剛剛一個跑通過的程式,竟然在自己機子的XP VC6下又跑不過去了(搞笑的是這個C還是在VC下編好的),怎麼回事呢,提示是:error C2275: 'time_t' : illegal use of this type as an expression      怎麼回事呢,google一下,都沒搜到,無意中看到一篇文章很簡單,說的是:     

段錯誤bug的調試

我們在用C/C++語言寫程式的時侯,記憶體管理的絕大部分工作都是需要我們來做的。實際上,記憶體管理是一個比較繁瑣的工作,無論你多高明,經驗多豐富,難免會在此處犯些小錯誤,而通常這些錯誤又是那麼的淺顯而易於消除。但是手工“除蟲”(debug),往往是效率低下且讓人厭煩的,本文將就"段錯誤"這個記憶體訪問越界的錯誤談談如何快速定位這些"段錯誤"的語句。下面將就以下的一個存在段錯誤的程式介紹幾種調試方法:     1  dummy_function (void)     2  {     3     

warning: the `gets’ function is dangerous and should not be used.

使用的是 Fedora 10 gcc編譯下面程式 顯示warning: the `gets' function is dangerous and should not be used.問題出在程式中使用了 gets Linux 下gcc編譯器不支援這個函數,解決辦法是使用 fgetsfgets()函數的基本用法為:fgets(char * s,int size,FILE * stream);/*   代碼實現     */#include <stdio.h>int main (

如何讓errno多線程/進程安

在linux或者unix環境中,errno是一個十分重要的部分。在調用的函數出現問題的時候,我們可以通過errno的值來確定出錯的原因,這就會 涉及到一個問題,那就是如何保證errno在多線程或者進程中安全?我們希望在多線程或者進程中,每個線程或者進程都擁有自己獨立和唯一的一個 errno,這樣就能夠保證不會有競爭條件的出現。一般而言,編譯器會自動保證errno的安全性,但是為了妥善期間,我們希望在寫makefile的時 候把_LIBC_REENTRANT宏定義,比如我們在檢查<bits/

二分法在數組中尋找關鍵字

/*此程式示範了二分法尋找演算法(針對按從小到大排列的數組)的實現。*/#include <iostream>using namespace std;/*功能:實現數組的二分法尋找(只演算法只適合按從小到大排列的數組)傳回值:關鍵字在數組中的下標, 返回-1表示未找到a[]:要搜尋的數組len:數組元素個數key:要尋找的關鍵字*/int binSearch(int a[], int len, int key){int i = len / 2;int ii = 0;if(len

VC++、MFC、COM和ATL的區別

From: http://hi.baidu.com/huqingshuye/blog/item/c55bd12ca5fa1b5b4ec2263f.html一、什麼是MFC    微軟基礎類(Microsoft Foundation Classes),實際上是微軟提供的,用於在C++環境下編寫應用程式的一個架構和引擎,VC++是WinOS下開發人員使用的專業C++ SDK(SDK,Standard SoftWare Develop

什麼是REST

  REST架構風格是全新的針對Web應用的開發風格,是當今世界最成功的互連網超媒體分布式系統架構,它使得人們真正理解了Http協議本來面貌。隨著 REST架構成為主流技術,一種全新的互連網網路應用開發的思維方式開始流行。      REST是什麼     REST是英文Representational State Transfer的縮寫,中文翻譯為“具象狀態傳輸”,他是由Roy Thomas Fielding博士在他的論文《Architectural Styles and the

何為REST?特徵是什嗎?

REST有四大特徵:可定址性:可定址性是說每一個資源都應該有一個唯一的URI標識,這樣它才能被外界訪問。無狀態性:無狀態性具體一點來說是指伺服器不應該儲存“應用狀態”。類似把資源儲存到資料庫裡的操作儲存的是“資源狀態”,資源狀態儲存在服務端很正常,應該仔細區分“資源狀態”和“應用狀態”,比如說你使用Google搜尋rest,然後把結果翻到了第2頁,這時的狀態就是應用狀態,此狀態不應該儲存在服務端,也就是說,服務端不應該關心你是在第1頁還是第2頁。相應的,此狀態應該由用戶端自己儲存,當用戶端向伺服

fedora12下安裝oracle11用戶端

How to install oracle-client(v11) in fedora12joeblackzqq@163.com       2011-3-21       目標:將oracle-client(v11)安裝到”/opt/oracle/”下準備好如下三個安裝包,放在某個目錄下,如:/root/software/oracle       [root@localhost oracle]# pwd       /root/software/oracle      

沒有找到mingwm10.dll的解決辦法和mingwm10.dll的作用

今天剛剛裝了Qt,並運行了Qt的一個簡單的example,然後運行了產生在\debug 檔案夾下的 *.exe 檔,但雙擊執行就提示“沒有找到mingwm10.dll,因此這個程式未能啟動。重新安裝應用程式可能會修複此問題。”

printf()格式化輸出詳解

printf的格式控制的完整格式: % - 0 m.n l或h 格式字元 下面對組成格式說明的各項加以說明: ①%:表示格式說明的起始符號,不可缺少。 ②-:有-表示靠左對齊輸出,如省略表示靠右對齊輸出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。N指精度。用於說明輸出的實型數的小數位元。對數值型的來說,未指定n時,隱含的精度為n=6位。

共用記憶體—shmget shmat shmdt

要使用共用記憶體,應該有如下步驟:1.開闢一塊共用記憶體 shmget()2.允許本進程使用共某塊共用記憶體 shmat()3.寫入/讀出4.禁止本進程使用這塊共用記憶體 shmdt()5.刪除這塊共用記憶體 shmctl()或者命令列下ipcrmftok()。它有兩個參數,一個是字串,一個是字元。字串一般用當前進程的程式名,字元一般用來標記這個標識符所標識的共用記憶體是這個進程所開闢的第幾個共用記憶體。ftok()會返回一個key_t型的值,也就是計算出來的標識符的值。shmkey =

沒有找到MSVCR80D.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修複此問題

問題描述:大部分的vs.net 2005的使用者在建立“win32項目-windows應用程式”的時候,建立的工程都通不過去,出現如下提示:Solution to “MSVCR80D.dll not found” by hua.“沒有找到MSVCR80D.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修複此問題。”的完美解決方案^_^感覺偶做的還不錯 問題所在:由於vs.net 2005

gcc 編譯多個源檔案

一. 常用編譯命令選項假設來源程式檔案名稱為test.c。1. 無選項編譯連結用法:#gcc test.c作用:將test.c預先處理、彙編、編譯並連結形成可執行檔。這裡未指定輸出檔案,預設輸出為a.out。2. 選項 -o用法:#gcc test.c -o test作用:將test.c預先處理、彙編、編譯並連結形成可執行檔test。-o選項用來指定輸出檔案的檔案名稱。3. 選項 -E用法:#gcc -E test.c -o test.i作用:將test.c預先處理輸出test.i檔案。4.

如何解壓RPM包

有時我們需要RPM包中的某個檔案,如何解壓RPM包呢?RPM包括是使用cpio格式打包的,因此可以先轉成cpio然後解壓,如下所示:rpm2cpio xxx.rpm | cpio -div例如:[root@localhost oracle]# rpm2cpio oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm | cpio -div./usr/lib/oracle/11.2/client/bin/adrci./usr/lib/oracle/11

嵌入式學習路徑

1、Linux 基礎安裝Linux作業系統Linux檔案系統Linux常用命令Linux啟動過程詳解熟悉Linux服務能夠獨立安裝Linux作業系統能夠熟練使用Linux系統的基本命令認識Linux系統的常用服務安裝Linux作業系統Linux基本命令實踐設定Linux環境變數定製Linux的服務 Shell 編程基礎使用vi編輯檔案使用Emacs編輯檔案使用其他編輯器2、Shell

修改虛擬機器硬碟的大小

VMware安裝目錄下有一個命令列工具vmware-vdiskmanager.exe 程式,可用來修改虛擬機器硬碟的大小。方法如下:    1. 虛擬機器無還原快照,有要先刪除,關閉虛擬機器;啟動windows下的命令列    2. 進入VMware的安裝目錄(如:D:\VMware),輸入“vmware-vdiskmanager”後按斷行符號鍵,可顯示關於該命令的說明。    3. 執行如下命令:vmware-vdiskmanager -x 20Gb "F:\My Virtual

取得系統時間並以BCD形式儲存到字串中

#include <stdio.h>#include <time.h>#define HEX2BCD(x) (((x) % 10) + ((((x) / 10) % 10) << 4)) /*20 -> 20H*/#define UINT8 unsigned char/* 功能:擷取BCD時間 out: [out] 儲存擷取到的BCD時間,格式為:秒分時日月年(各佔一位元組,BCD格式)*/void

[VC++]CComBSTR資料類型比較

// dd.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <iostream>#include <atlbase.h>using namespace std;int _tmain(int argc, _TCHAR* argv[]){CComBSTR bVal("1.0");if(bVal !=

msado15.tlh中重要的枚舉(精簡)

1. msado15.tlhenum ConnectPromptEnum{ adPromptAlways = 1, adPromptComplete = 2, adPromptCompleteRequired = 3, adPromptNever = 4};enum ParameterAttributesEnum{ adParamSigned = 16, adParamNullable = 64, adParamLong = 128}; enum

總頁數: 61357 1 .... 6921 6922 6923 6924 6925 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.