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

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

發布時間: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!"了

閱讀全文

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

熱點內容
交易貓騰訊號已發貨多久交易成功 瀏覽:324
中國基因技術如何 瀏覽:877
化妝品批發代理商需要什麼資質 瀏覽:25
p城的技術怎麼樣 瀏覽:109
技術類體操的基礎技術是什麼 瀏覽:18
網路登不上了如何查詢以前信息 瀏覽:898
陌陌如何設置拒絕接收信息 瀏覽:127
陽泉二手車市場哪個好 瀏覽:354
綠通網路預約通過哪個小程序 瀏覽:971
物流企業的信息反饋效率如何 瀏覽:877
赤峰調料批發市場在哪裡 瀏覽:20
復制的程序為什麼運行錯誤 瀏覽:571
大數據下載在哪裡 瀏覽:918
選款標准數據是什麼意思 瀏覽:665
行駛證能查詢車輛什麼信息 瀏覽:798
客戶問如何知道你的產品是正品 瀏覽:501
什麼是重命名數據類型 瀏覽:766
作為產品經理如何寫app的邏輯 瀏覽:123
小米換機怎麼選擇第三方應用程序 瀏覽:248
酒店代理怎麼推廣 瀏覽:857