2016-11-20 3 views
0

私はILI9431 TFTスクリーンを使用して、グラフィカル・ユーザ・インタフェースを持つオペレーティング・システムを作成したいです。C++を使用したArduinoの複雑なプログラム。どのように正しくオブジェクトを使用するか、プレーンCを使うのが良いですか?

現在TFTの画面やその他のコンポーネントが到着するのを待っているので、ハードウェアの通信と必須の低レベルOS機能を処理するBIOSやカーネルなどのLEDやコア機能を使って遊んでいます。

私は基本的なメモリ割り当ての仕組みを知っていますが、小さなSRAM上に多くのオブジェクトを作成して解放するときに、適切なメモリ管理を行っても何が起きる可能性があるかを知っています。これは、私がオブジェクト指向の作業を避けるべきであると考えなければならないこのような大きな種類の取引ですか、それとも正しいものにする方法はありますか?

私はオブジェクトを作成し、自由にする方法を知っている唯一の方法はこれです:

SomeClass* obj = new SomeClass(): 
delete(obj); 

ウェブ上で見ているとき、私は多くの人々が、これは悪いですし、私は理由を理解することを言ってご覧ください。スマートポインタについて聞いたことがありますが、彼らはarduinoで正しく動作していますか?もしそうなら、どこでクラスを見つけることができますか?

+0

はいスマートポインタが良いです。あなたの時間は私の質問に表情を持っているためhttp://stackoverflow.com/questions/5026197/what-c​​-smart-pointer-implementations-are-available –

答えて

1

あなたは混乱がたくさんあり、あなたの質問にはさまざまなコンセプトが混在していると思います。オペレーティングシステムを開発できると確信していますか?オペレーティングシステムを構築することは非常に長く非常に複雑な作業です。プログラミングとソフトウェア/ハードウェアのアーキテクチャのいくつかの側面についての広範な知識が必要です。

オブジェクト指向言語は単なるプログラミングのパラダイムです。ある言語や他の言語を「サポート」する主な努力は、オペレーティングシステムではなく、コンパイラの使用料です。したがって、コードを実行するアーキテクチャに依存しませんが、使用しているコンパイラによって異なります。

+0

ありがとう:利用可能な実装のためにこれを参照してください。私は異なるコンセプトをどこに混在させるか説明できますか?私の主な質問は、私が新しいオブジェクトと削除オブジェクトを作成する必要があるときのメモリ割り当てに関連しています。はい、私は私が心に持っているものを行うことができると確信しています。これはobvです。遠く離れた高度な次世代Linuxからの私の主な目標は学ぶことです(C++とその奇妙なすべての機能に先週からちょうど新しい、基本的には過去8年のように。しかし、大した:)ではないthatsの)私は時々として奇妙なプロジェクトが出てきますが、誰が私を止めたいのですか? ;) – KoalaGangsta

関連する問題