´Ójava³ÌÐòÖе÷ÓÃÆäËü³ÌÐò
RMI (Remote Method Invocation£¬Ô¶³Ì·½·¨µ÷ÓÃ)ÈçºÎÓÃÓÚ³ÌÐò¼äͨѶ£¬ÁíÒ»¸öÓÃÓÚͨѶµÄ¼¼ÊõÊÇRuntime.exec() ·½·¨¡£Äã¿ÉÒÔÓÃÕâ¸ö·½·¨´ÓÒ»¸öÔËÐа¢java³ÌÐòÖе÷ÓÃÁíÒ»¸ö³ÌÐò¡£Runtime.exec Ò²ÔÊÐíÄãÖ´ÐкͳÌÐòÏà¹ØµÄ²Ù×÷£¬ÀýÈç¿ØÖÆ³ÌÐòµÄ±ê×¼ÊäÈëÊä³ö£¬µÈ´ý³ÌÐòµÄ½áÊø²¢µÃµ½ËüµÄÍ˳ö״̬¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄC³ÌÐò£¬ÓÃÀ´ËµÃ÷ÕâÐ©ÌØÐÔ£º
#include <stdio.h>
int main() {
printf("testing\n");
return 0;
}
Õâ¸ö³ÌÐòд×Ö·û´®"testing"µ½±ê×¼Êä³ö£¬È»ºóÓÃÍ˳ö״̬0ÖÕÖ¹³ÌÐò¡£
ΪÁËÔÚjava³ÌÐòÖÐÖ´ÐÐÕâ¸ö¼òµ¥µÄ³ÌÐò£¬ÏȱàÒëÕâ¸öc³ÌÐò£º
$ cc test.c -o test
£¨ÒëÕß×¢£º¶ÔÓÚlinuxÓû§£¬¿ÉÒÔÓÃgcc test.c ?o test,¶ÔÓ¦windowsÓû§¿ÉÒÔÓÃÏàÓ¦µÄcÓïÑÔ±àÒë³ÌÐò±àÒë³É¿ÉÖ´ÐгÌÐòtest.exe£©
(ÄãµÄ C ±àÒëÆ÷¿ÉÄÜÒªÇó²»Í¬µÄ²ÎÊý)È»ºóʹÓÃÏÂÃæµÄ´úÂëµ÷ÓÃÄǸö³ÌÐò£º
import java.io.*;
import java.util.ArrayList;
public class ExecDemo {
static public String[] runCommand(String cmd)
throws IOException {
// set up list to capture command output lines
ArrayList list = new ArrayList();
// start command running
Process proc = Runtime.getRuntime().exec(cmd);
/**ÒëÕß×
Ïà¹ØÎĵµ£º
1£©Java Language Specification, Third Edition (by James Gosling)
±¾ÊéÓÉJava¼¼ÊõµÄ·¢Ã÷Õß±àд£¬ÊÇJava TM±à³ÌÓïÑÔµÄȨÍþÐÔ¼¼ÊõÖ¸ÄÏ¡£Èç¹ûÄãÏëÖªµÀÓïÑÔÖ®¹¹ÔìµÄ¾«È·º¬Ò壬±¾ÊéÊÇ×îºÃµÄ×ÊÔ´¡£
&nbs ......
ÔÚjavaÖпÉÒÔͨ¹ýRuntime.getRuntime().exec(cmd)À´Ö´ÐÐÍⲿÃüÁÎұȽϳ£ÓõÄÊǵ÷ÓÃshell½Å±¾À´Íê³ÉijЩ¹¤×÷£¬Ò²¿ÉÒÔÖ±½ÓÖ´ÐÐÒ»¸öos µÄÃüÁ±È½Ïµ÷ÓÃimagemagickÀ´Íê³ÉͼƬµÄһЩ²Ù×÷£¬ÆäÖÐÐèҪעÒâµÄÓÐÁ½µã£¬1ÊÇ×îºÃ´øÉÏÃüÁîµÄÍêÕû·¾¶,·ñÔòÃüÁî¿ÉÄܲ»»á±»Ö´ÐУ¬¶øÇÒҲûÓÐÈκα¨´íµÄÐÅÏ¢Êä³ö£¬2ÌØ±ðҪעÒâ¿Õ¸ñ£¬±ÈÈçÎÄ ......
½Ó´¥ÁËJTAPI¿ª·¢Ò»¶Îʱ¼ä£¬¸Õ¿ªÊ¼½Ó´¥Ê±£¬·Ç³£Í·´ó£¬ºÜ¶à¸ÅÄî²»ºÃÀí½â¡£ ÏÈÁиö¿ò¼Ü£¬¼Ç¼һÏÂ×Ô¼ºµÄѧϰ¹ý³Ì¡£
Ò»¡¢JTAPI (Java Telephony API )
ÔÚJTAPI֮ǰ£¬Ã¿¸ö¹«Ë¾¶¼ÊǸ÷×ÔµÄÒ»Ì×CTI¿ª·¢½Ó¿Ú¡£ÎªÁËͳһҵ½ç±ê×¼£¬SUN¹«Ë¾ÍƳöÁËjtapi±ê×¼½Ó¿Ú¡£¸Ã½Ó¿Ú¶¨ÒåÁ˺ô½ÐÖÐÐÄÖеĺܶà¶ÔÏó£¬ÈçAddress,Agen ......
1¡¢javaÊÇ¿çÆ½Ì¨µÄ£¬ÊÇһÎâÊÍÐÔÓïÑÔ£¬Ò»ÌõÒ»ÌõµØÖ´ÐУ¬½âÊÍÆ÷¾ÍÊÇjvm£¬ËùÒÔ¿ÉÒÔ¿çÆ½Ì¨£»
C/C++ÊDZàÒëÐÔÓïÑÔ£¬ËùÓбàÒëÍêºóÔÙÖ´ÐУ¬¿çƽ̨µÄʱºòÐèÒªÖØÐ±àÒëÒ»´Î£¬ÒÔÊÊÓ¦ÐÂµÄÆ½Ì¨¡£
2¡¢ÏòÉÏתÐÍ£¬¼Ì³Ð °×Âí·ÇÂí
¸¸Àà¶ÔÏóת»¯Îª×ÓÀà±ØÐëÇ¿ÖÆ(SonClass)fatherClass
×ÓÀ൱ ......