導航:首頁 > 軟體知識 > 如何讓程序按指定尺寸運行

如何讓程序按指定尺寸運行

發布時間:2023-02-09 10:24:09

A. 如何單獨讓一個程序以1024*768解析度運行

臨時切換解析度的小工具:reso

reso的作用:能夠以特定的解析度、顏色模式和刷新率來啟動一個程序,而且你可以把要用reso啟動的項目做成一個快捷方式,以後只要點擊該快捷方式就可以以reso啟動它了。在你關閉該程序的時候,顯示模式也會切換成原來的。這比起在系統里自己調整要方便不少。

有時我們玩游戲,尤其是一些解析度不怎麼高的游戲,在高解析度下窗口太小,切換成全屏又太粗糙,而且不能同時查看攻略和做其他的事,這時就用reso在較低的解析度下試試吧。

自動會在桌面上生成一個指定解析度下的快捷圖標的,一點就行了,很方便

B. 怎麼讓特定的軟體以特定縮放運行

右擊,選擇打開方式,選擇A,然後選擇下面的始終使用選擇的程序打開

C. 如何將C/C++程序編譯到指定的大小如編譯成100KB大小

要在java中調用c語言的庫,需要使用Java提供了JNI。

舉例說明

在c語言中定義一個 void sayHello()函數(列印Hello World);然後在Java中調用這個函數顯示Hello Word.

現在分別從Java和C語言兩部分說明:

1. Java 部分

首先定義一個HelloNative,在其中申明sayHello函數,函數要申明為Native 類型的.如下:

public class HelloNative {

public native void sayHello();

}

編譯這個類,生成class文件:

javac HelloWorld.java

利用javah生成需要的h文件

javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class HelloNative */

#ifndef _Included_HelloNative

#define _Included_HelloNative

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: HelloNative

* Method: sayHello

* Signature: ()V

*/

JNIEXPORT void JNICALL Java_HelloNative_sayHello

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

可以看一下上面自動生成的程序,程序include了jni.h,這個頭文件在 $JAVA_HOME下的include文件夾下. 還可以發現生成的函數名是在之前的函數名前面加上了Java_HelloNative。

2. C語言部分

根據上面生成的h文件編寫相應的代碼實現,建立一個 HelloNative.cpp用來實現顯示Hello World的函數.如下:

#include <stdio.h>

#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)

{

printf("Hello World!\n");

}

代碼編寫完成之後,我們再用gcc編譯成庫文件,命令如下;

gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

這樣就會在當前目錄下生成一個libHelloNative.so的庫文件.這時需要的庫已經生成,在C語言下的工作已經完成了.

接下來需要在Java中編寫一個程序測試一下.在程序前,需要將我們的庫載入進去.載入的方法是調用Java的 System.loadLibrary("HelloNative");

public class TestNative

{

static {

try {

System.loadLibrary("HelloNative");

}

catch(UnsatisfiedLinkError e) {

System.out.println( "Cannot load hello library:\n " + e.toString() );

}

}

public static void main(String[] args) {

HelloNative test = new HelloNative();

test.sayHello();

}

}

但是再編譯後,運行的時候,問題又出現了.

Cannot load hello library:

java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path

Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V

at HelloNative.sayHello(Native Method)

at TestNative.main(TestNative.java:13)

載入庫失敗,但是庫明明就是放在當前文件夾下的,怎麼會載入失敗呢?

用System.getProperty("java.library.path")查看,發現java.library.path中並不u存在當前的目錄.主要有以下的幾個解決辦法:

1) 將生成的庫復制到java.library.path有的路徑中去,當然這樣不是很好

2) 設置環境變數export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,將當前的目錄加入到LD_LIBRARY_PATH中

3) 設置java 的選項,將當前的目錄加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH

這樣之後程序就能夠成功的運行了.可以看見顯示的"Hello World!"了

閱讀全文

與如何讓程序按指定尺寸運行相關的資料

熱點內容
魅藍e3二手市場多少錢 瀏覽:223
濮陽會計代理費用多少錢 瀏覽:695
寶馬行程數據開始是什麼意思 瀏覽:959
國珍什麼產品調血糖 瀏覽:115
德州監獄技術含量高的活有哪些 瀏覽:923
技術部長不升職怎麼辦 瀏覽:966
技術轉讓費要交多少增值稅舉例 瀏覽:680
如何推銷產品群發 瀏覽:12
產品立項先問為什麼 瀏覽:33
燕郊服裝批發市場哪裡好 瀏覽:390
小店代理記賬中心一個月多少錢 瀏覽:478
電容櫃數據線如何插介面 瀏覽:38
籃球大師傳奇交易函有什麼用 瀏覽:452
保密代理怎麼申請 瀏覽:707
b85怎麼開虛擬技術 瀏覽:471
布鞋商標代理注冊需要多少錢 瀏覽:816
靈通列印淘寶店鋪如何導出數據 瀏覽:609
發酵技術可以生產什麼 瀏覽:777
分銷小程序哪個最好做 瀏覽:288
佛山什麼地區多產品 瀏覽:349