pragmac語言
① msp430 pragma 單片機 c語言
#pragma vector是固定在程序中的格式,後面接的是中端向量地址WDT_VECTOR
這使開門狗中端,如果是定時器A/B中端那向量就是TIMERA1_VECTOR (TIMERB1_VECTOR ) 如果是a/d轉換完成中端SD16_VECTOR如果是埠一中端那向量就是PORT1_VECTOR。
__interrupt void watchdog_timer(void)
這句話除了watchdog_timer是自己定義的函數名外(自己定義的)其他是固定的(當然void參數可以是int或者其他的double等等)
② pragma pack 是c語言中的規則嗎
算是
這個是C語言預編譯命令之一
用來設置結構體對齊的位元組數的。
③ 關於C語言的
那個重新下載也是沒有的,因為有部分是別人自寫的函數.
下面的代碼是iostream.h的源文件. 有具體的問題可以發消息問.
/***
*iostream.h - definitions/declarations for iostream classes
*
* Copyright (c) 1990-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
* This file defines the classes, values, macros, and functions
* used by the iostream classes.
* [AT&T C++]
*
* [Public]
*
****/
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
#ifndef _INC_IOSTREAM
#define _INC_IOSTREAM
#if !defined(_WIN32) && !defined(_MAC)
#error ERROR: Only Mac or Win32 targets supported!
#endif
#ifdef _MSC_VER
// Currently, all MS C compilers for Win32 platforms default to 8 byte
// alignment.
#pragma pack(push,8)
#include <useoldio.h>
#endif // _MSC_VER
/* Define _CRTIMP */
#ifndef _CRTIMP
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else /* ndef _DLL */
#define _CRTIMP
#endif /* _DLL */
#endif /* _CRTIMP */
typedef long streamoff, streampos;
#include <ios.h> // Define ios.
#include <streamb.h> // Define streambuf.
#include <istream.h> // Define istream.
#include <ostream.h> // Define ostream.
#ifdef _MSC_VER
// C4514: "unreferenced inline function has been removed"
#pragma warning(disable:4514) // disable C4514 warning
// #pragma warning(default:4514) // use this to reenable, if desired
#endif // _MSC_VER
class _CRTIMP iostream : public istream, public ostream {
public:
iostream(streambuf*);
virtual ~iostream();
protected:
iostream();
iostream(const iostream&);
inline iostream& operator=(streambuf*);
inline iostream& operator=(iostream&);
private:
iostream(ios&);
iostream(istream&);
iostream(ostream&);
};
inline iostream& iostream::operator=(streambuf* _sb) { istream::operator=(_sb); ostream::operator=(_sb); return *this; }
inline iostream& iostream::operator=(iostream& _strm) { return operator=(_strm.rdbuf()); }
class _CRTIMP Iostream_init {
public:
Iostream_init();
Iostream_init(ios &, int =0); // treat as private
~Iostream_init();
};
// used internally
// static Iostream_init __iostreaminit; // initializes cin/cout/cerr/clog
#ifdef _MSC_VER
// Restore previous packing
#pragma pack(pop)
#endif // _MSC_VER
#endif // _INC_IOSTREAM
#endif /* __cplusplus */
④ c語言中@的意思是什麼
@ 只能放在字元,字元串或註解行里使用。
例如: char s[]="b@c"; // @ in string
它不是運算符,也不能作為標識符的一部分。
volatile 變數 是 易變化變數,編譯器不得對它作優化處理。
⑤ C語言中#program是什麼意思
#pragma是一個預處理指令,會把後面的值傳給編譯器。
這個預處理指令是用於向編譯器提供窗外信息的標准方法。
對於這個指令C標准中沒有明確規定,所以不同編譯器實現是不同的。
同一個#pragma命令,換一個編譯器可能完全沒有意義或者是不同意義。
格式一般為: #pragma Para。其中Para 為參數。
例如:
#pragma REGPARMS
使用REGPARMS 是讓編譯器透過暫存器來傳函數參數。這樣中間的函數速度快些。
⑥ C語言中#program是什麼作用
#pragma是一個預處理指令,會把後面的值傳給編譯器。
這個預處理指令是用於向編譯器提供窗外信息的標准方法。
對於這個指令C標准中沒有明確規定,所以不同編譯器實現是不同的。
同一個#pragma命令,換一個編譯器可能完全沒有意義或者是不同意義。
格式一般為: #pragma Para。其中Para 為參數。例如:
#pragma REGPARMS
使用REGPARMS 是讓編譯器透過暫存器來傳函數參數。這樣中間的函數速度快些。
⑦ C語言預處理中的#pragma有什麼用
#pragma是一個預處理指令,會把後面的值傳給編譯器。
這個預處理指令是用於向編譯器提供窗外信息的標准方法。
對於這個指令C標准中沒有明確規定,所以不同編譯器實現是不同的。
同一個#pragma命令,換一個編譯器可能完全沒有意義或者是不同意義。
格式一般為: #pragma Para。其中Para 為參數。
#pragma REGPARMS
使用REGPARMS 是讓編譯器透過暫存器來傳函數參數。這樣中間的函數速度快些。
⑧ C語言中#program是什麼意思
應該是偽指令#pragma pack 吧
在C語言中,結構是一種復合數據類型,其構成元素既可以是基本數據類型(如int、long、float等)的變數,也可以是一些復合數據類型(如數組、結構、聯合等等)的數據單元。在結構中,編譯器為結構的每個成員按其自然對界(alignment)條件分配空間;各個成員按照它們被聲明的順序在內存中順序存儲,第一個成員的地址和整個結構的地址相同。在預設情況下,C編譯器為每一個變數或是數據單元按其自然對界條件分配空間
一般地,可以通過下面的兩種方法改變預設的對界條件:
· 使用偽指令#pragma pack ([n])
· 在編譯時使用命令行參數
比如有一個數據結構:
struct{
char c;
short s;
long l;
};
用pack(1)時的相對地址為:c:+0, s:+1, l:+3, 結構大小為7位元組
用pack(2)時的相對地址為:c:+0, s:+2, l:+4, 結構大小為8位元組
用pack(4)時的相對地址為:c:+0, s:+4, l:+8, 結構大小為12位元組
⑨ c語言中,#pragma REGPARMS 是什麼意思
#pragma是一個預處理指令,會把後面的值傳給編譯器
對於這個指令C標准中沒有明確規定,所以不同編譯器實現是不同的
同一個#pragma命令,換一個編譯器可能完全沒有意義或者是不同意義
#pragma REGPARMS
一般來說是讓編譯器執行這樣的操作,把所有的函數參數通過寄存器來傳遞,這樣可以提高調用函數的速度
⑩ C語言:#pragma REGPARMS 是什麼意思
#pragma是一個預處理指令,會把後面的值傳給編譯器
對於這個指令C標准中沒有明確規定,所以不同編譯器實現是不同的
同一個#pragma命令,換一個編譯器可能完全沒有意義或者是不同意義
#pragma REGPARMS
在收到這樣的命令後,編譯器會把所有的函數參數通過寄存器來傳遞,這樣可以提高調用函數的速度。
與之對應的是
#pragma NOREGPARMS
禁止用寄存器傳遞參數。