android執行c語言,安卓編程c語言

本文目錄一覽:

安卓系統上能運行c語言的程序嗎

可以的,只要編譯器支持,C語言程序不像JAVA,最終都會被編譯器編譯成機器代碼的,所以關鍵是編譯器能不能編譯成相關CPU和操作系統支持的代碼。

dos是的批處理是不支持的。

編寫手機軟件目前主要還是用C和JAVA,C用得最多

有能在Android系統上運行的c語言編程軟件嗎,推薦一下

C4droid是款Android設備上的C/C++程序編譯器[2] ,默認以tcc(tiny c compiler)為編譯器,可以選擇安裝gcc插件(20mb,只有root用戶可以使用),選用gcc後,可以用sdl(簡單直控媒體層庫,需安裝sdl plugin for c4droid)和qt(nokia官方開發庫,需安裝sdl plugin for c4droid)。也可以開發native android app(需安裝sdl plugin for c4droid),就像google ndk一樣。軟件支持代碼高亮,編譯時間隨cpu主頻而定,主頻越高編譯越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行測試程序源碼。

安卓手機上可以用的編程軟件c語言的系統有哪些?

C4droid\x0d\x0a\x0d\x0aC4droid是一個C / C + + IDE + C / C + +編譯器,GNU Makefile文件,SDL和Qt支持的Android。 C4droid支持ARM處理器(而不是設備與英特爾的x86和MIPS處理器)的設備。\x0d\x0a您\x0d\x0a可以創建自己的應用程序在Android手機中,運行(即使沒有上網:編譯器為離線狀態)和出口的可執行文件(為終端的應用程序)或APK(GUI使用的\x0d\x0a應用程序)。此應用程序使用TCC和uClibc(GCC仿生libc的一個插件),所以它有完整的ANSI C和ISO C99支持。 \x0d\x0aC4droid可用於教育目的或在C和C + +語言的練習。\x0d\x0aC4droid支持語法高亮,代碼完成和源代碼格式,所以它是一個非常方便的工具,在旅途中進行編程。

c語言編寫的程序可以直接在安卓上運行嗎?是不是基本上安卓上所有的都要通過jvm解釋才能運行?

當然可以,只需要安卓手機上安裝C語言的編譯器就可以了。如在手機上使用易歷知食軟件里的微C程序設計,就可以直接在安卓手機上寫C語言程序並運行,下面是其自帶的一個示例(熟悉的九九乘法表),手機上的代碼如下圖所示:

手機上運行結果如下圖所示:

在手機上學習C語言編程就是這麼簡單!

在android上用C語言

安卓也可以用C語言編寫,這種方式程序效率高,但需要一些底層知識。。。(即所謂NDK),Android在支持NDK後是可以實現用C和C++來編寫的。因為用C++比較多,之前用cocos2d-x寫過Demo遊戲。就使用了NDK編譯出.so文件然後放入Android工程用在Java層調用。Android SDK的Java層是可以通過JNI和C/C++進行數據交互的。

詳見:

Android NDK | Android Developers

The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so you can reuse existing code libraries written in these languages, but most apps do not need the Android NDK.

如何在Android系統上運行C語言的程序

本人使用mini6410開發了一個sqlite數據庫的程序,在mini6410的linux系統下已經能夠成功運行了。因為Android使用的也是linux內核,所以我想當然的認為按照同樣的方法將程序移植到mini6410的android系統中也可以成功運行,但是當我運行程序的時候卻提示我不能找到可執行文件(xlisten-arm是交叉編譯出來的可執行文件):

/ # ./xlisten-arm

/system/bin/sh: ./xlisten-arm: not found

1.探索:

在網上搜索起初認為可能是庫文件的不全導致的,於是在查看可執行文件xlisten-arm所需要的動態鏈接庫:

執行語句:

# arm-linux-readelf -a ./xlisten-arm | grep “Shared”

0x00000001 (NEEDED) Shared library: [libsqlite3.so.0]

0x00000001 (NEEDED) Shared library: [libm.so.6]

0x00000001 (NEEDED) Shared library: [libcrypt.so.1]

0x00000001 (NEEDED) Shared library: [libpthread.so.0]

0x00000001 (NEEDED) Shared library: [libdl.so.2]

0x00000001 (NEEDED) Shared library: [libc.so.6]

知道所需的動態鏈接庫後,到android文件系統中去照着寫庫文件,在目錄/system/lib 中,果然缺少相應的庫文件,於是認為找到了我問題的根源所在,在複製相應庫文件的時候為了保留原來的屬性,還特意用了

#cp -a filename dir

誰知將這些庫都添加進去以後,仍然無濟於事!

看來不僅僅事庫文件缺失的問題了,而且一般來說,如果真的是因為缺少庫文件而導致的問題,終端會提示我們鏈接某庫文件時沒有找到該庫文件。

2.正確的解決方法:

將程序編譯的時候選擇靜態編譯,即使用選項 -static

我是對Makefile文件中的CFLAG變量進行修改

CFLAGS = -Wall

改為;

CFLAGS = -Wall -static

然而此時又出現問題了:

undefined reference to `pthread_mutex_*’

undefined reference to `dl*’

提示沒有定義這些函數,於是在包含的庫文件中添加了這兩個庫文件

在Makefile中,修改LIBS變量;

LIBS = -lsqlite3 -lm -lcrypt

改為:

LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl

然後進行交叉編譯,成功了!

編譯出來的可執行文件比較大,因為事靜態編譯的,我的有2M多,

拷貝到開發板的andriod系統中,

修改權限:

#chmod 777 xlisten-arm

執行:

/ # ./xlisten-arm

OK!能夠正確的執行了!

原創文章,作者:BLXF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/148214.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BLXF的頭像BLXF
上一篇 2024-11-03 15:14
下一篇 2024-11-03 15:14

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論