A. 怎樣用c語言讀PGM如想文件(有原代碼更好)
將文件名後綴改成.c 或者直接滑鼠右擊文件,點擊「打開方式」,然後從列表中選擇C語言程序就可以了。
注意:如果你的C語言軟體沒有安裝到系統中,列表上是不會顯示的,這時要點擊下面的「瀏覽」然後找到C語言所在文件夾,選中後綴為「.exe」的程序才行。
B. c語言中:一個文件夾下有 pgm.h main.c fct.c pm.c,都編譯好的,如何一起執行這三個文件
不可能說一起「執行」這三個文件,只能有一個入口點(main函數——現在有tmain wmain等但本質都是程序開始執行的起點)
只要放在一個工程里,有適當的include關系,編譯器能鏈接上裡面的函數
C. 如何用C++讀取pgm的圖片,並在一個數組里
等待回答TOO
D. 用c++語言代替c語言 高手賜教
不知道樓住什麼意思?
C是C++的子集
無所謂什麼把C邊成C++的
E. 怎麼打開pgm文件
PGM(Pocket Game Maker)是一套API庫,用以開發psp和iphone的小游戲,使用lua腳本編寫代碼。PGM引擎全稱Pocket Game Maker,iPhone和PSP下的RPG引擎。採用NGE2i。
AMP的下一代引擎PGM,採用NGE2開發庫,主要針對RPG,同時向下兼容AMP,支持PSP和iOS(ipod touch,iphone)。
3. 主要有以下特點:
(1)熟悉rm,rmxp的人能夠簡單上手,製作屬於自己的RPG游戲。
(2)可以運行在PSP和iPhone上。
(3)向下兼容AMP。
F. 如何在matlab讀入PGM格式的圖片
MATLAB支持的圖形圖象格式很全面的,其自帶的圖片文件存儲位置為MATLAB安裝文件夾下的toolboximagesimdemos.使用imread()函數來讀取圖片:比如你要讀的圖片在D:PIC,叫photo.jpg則應輸入輸入:A=imread('d:picphoto.jpg'); imshow(A)
也可以先把圖片保存到work目錄中。Matlab安裝時一般默認位於C:Documents and SettingsAdministratorMy DocumentsMATLAB此時可以直接輸入:A=imread('photo.jpg'); imshow(A);
以下幾行代碼,可以實現多圖片文件的讀入:%%%%%%%%%%%%%%%%%%%%%%%all_ccdfile=char('LENA616.bmp', 'LENA617.bmp'); %可以在這這里繼續添加你的文件名字,這里比較耗時tmp=size(all_ccdfile);
file_num=tmp(1);
%%%file_num:文件的個數
for i=1:file_num
ccdfile=deblank(all_ccdfile(i,:));
ii=imread(ccdfile);
%%%%%%讀入圖片
%%%處理
end
G. matlab如何批量讀取pgm格式圖片
1。 指定路徑下 單個文件夾data中所有圖像
file_path = '.\data\';% 圖像文件夾路徑
img_path_list = dir(strcat(file_path,'*.jpg'));%獲取該文件夾中所有jpg格式的圖像
img_num = length(img_path_list);%獲取圖像總數量
if img_num > 0 %有滿足條件的圖像
for j = 1:img_num %逐一讀取圖像
image_name = img_path_list(j).name;% 圖像名
image = imread(strcat(file_path,image_name));
fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 顯示正在處理的圖像名
%圖像處理過程 省略
end
end
注,上述的代碼只能讀取data文件夾中的圖像,假設data中包含子文件夾,不能讀取子文件夾中的圖像。
2. 指定路徑下 多個文件夾中所有圖像,該代碼可以讀取文件夾data中及data的所有子文件夾中的圖像。
p = genpath('.\data');% 獲得文件夾data下所有子文件的路徑,這些路徑存在字元串p中,以';'分割
length_p = size(p,2);%字元串p的長度
path = {};%建立一個單元數組,數組的每個單元中包含一個目錄
temp = [];
for i = 1:length_p %尋找分割符';',一旦找到,則將路徑temp寫入path數組中
if p(i) ~= ';'
temp = [temp p(i)];
else
temp = [temp '\']; %在路徑的最後加入 '\'
path = [path ; temp];
temp = [];
end
end
clear p length_p temp;
%至此獲得data文件夾及其所有子文件夾(及子文件夾的子文件夾)的路徑,存於數組path中。
%下面是逐一文件夾中讀取圖像
file_num = size(path,1);% 子文件夾的個數
for i = 1:file_num
file_path = path{i}; % 圖像文件夾路徑
img_path_list = dir(strcat(file_path,'*.jpg'));
img_num = length(img_path_list); %該文件夾中圖像數量
if img_num > 0
for j = 1:img_num
image_name = img_path_list(j).name;% 圖像名
image = imread(strcat(file_path,image_name));
fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 顯示正在處理的路徑和圖像名
%圖像處理過程 省略
end
end
end
H. 在AVR GCC中如何使用C語言在程序空間申請常量數組就像在KEIL中使用CODE或者PCODE的功能。
GCC中把大數組存入flash區的方法大全
AVRGCC中將變數定義在flash空間的方法(大數據存儲)
(1)flash常量:
#include <avr\pgmspace.h>//須增加的頭文件
const prog_uchar FlashConst = 3; //定義uchar型的常量n定義在flash里(flash常量)
unsigned char RamVar; //定義無符號整型變數(Ram變數)
RamVar = pgm_read_byte(&FlashConst); //讀取flash常量到ram變數
(2)flash一維數據:
#include <avr\pgmspace.h>
const prog_uchar s[5] = { 1, 2, 3, 4, 5 };
unsigned char RamVar; //定義無符號整型變數(Ram變數)
RamVar = pgm_read_byte( &s[1] ); //讀取s[1]的值到RamVar, or RamVar = pgm_read_byte( s+1 );
(3)flash多維數據:
#include <avr\pgmspace.h>
const prog_uchar s[4][16] = { {14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7 },
{ 0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8 },
{ 4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0 },
{15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13 }
};
unsigned char RamVar[4],[16]; //定義無符號整型變數(Ram變數)
register char i, j;
for(i=0; i<4; ++)
{
for(j=0; j<16; j++)
{
RamVar[i][j] = pgm_read_byte( &s[i][j] ); //讀取數組s的值到RamVar
}//end for 2
}//end for 1
(4)擴展部分
avr對ram和flash是獨立編址的,ram是按8位編址,而flash卻按16位編址,讀ram和讀flash的匯編指令也是不同的。
類似flash數據類型還有:prog_void 、prog_char 、prog_int8_t、prog_uint8_t、prog_int16_t、prog_uint16_t、prog_int32_t、prog_uint32_t等。
讀取指令pgm_read_xxx宏定義其實就是一段包括了flash讀取指令的內聯匯編代碼。函數原型為:pgm_read_byte(address_short)、pgm_read_word(address_short)、 pgm_read_dword(address_short)、pgm_read_float(address_short)。括弧中是地址值。
I. 哪位高手知道PGM文件格式的具體介紹啊急用!
*.PGM是AS/400上的程序,類似其它平台的所謂可執行文件。可執行文件這種叫法對AS/400來講有點別扭,400上叫目標。*.PGM是程序目標,從源程序編譯而來,可以直接運行
J. c語言中怎麼讀取flash內容
flash是存儲晶元的一種,通過特定的程序可以修改裡面的數據。FLASH在電子以及半導體領域內往往表示Flash Memory的意思,即平時所說的「快閃記憶體」,全名叫Flash EEPROM Memory。
Flash存儲器又稱快閃記憶體,它結合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還可以快速讀取數據(NVRAM的優勢),使數據不會因為斷電而丟失。U盤和MP3里用的就是這種存儲器。在過去的20年裡,嵌入式系統一直使用ROM(EPROM)作為它們的存儲設備,然而近年來Flash全面代替了ROM(EPROM)在嵌入式系統中的地位,用作存儲Bootloader以及操作系統或者程序代碼,或者直接當硬碟使用(U盤)。
目前Flash主要有兩種NORFlash和NANDFlash。NORFlash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運行裝載在NORFLASH裡面的代碼,這樣可以減少SRAM的容量從而節約了成本。NANDFlash沒有採取內存的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個位元組,採用這種技術的Flash比較廉價。用戶不能直接運行NANDFlash上的代碼,因此好多使用NANDFlash的開發板除了使用NANDFlash以外,還加上了一塊小的NORFlash來運行啟動代碼。
一般小容量的用NORFlash,因為其讀取速度快,多用來存儲操作系統等重要信息,而大容量的用NANDFLASH,最常見的NANDFLASH應用是嵌入式系統採用的DOC(Disk On Chip)和我們通常用的「閃盤」,可以在線擦除。目前市面上的FLASH主要來自Intel,AMD,Fujitsu和Mxic,而生產NANDFlash的主要廠家有Samsung,Toshiba,Micron和Hynix。片內flash還是片外flash,spi介面還是其他的介面。ARM片子不一樣,答案就不一樣。根據flash手冊,按照手冊寫驅動。