目次
深入理解php内核阅读1
ホームページ php教程 php手册 深入理解php内核阅读1

深入理解php内核阅读1

Jun 13, 2016 am 08:54 AM
カーネル

深入理解php内核阅读1

do{ }while(0)使用的解释

 

 do{ }while(0)写法的目的主要是为了程序基础函数的健壮性和通用性,和一些代码的灵活使用。

 do{ }while(0)写法会让内部的代码执行一次后退出,如果不使用这种写法,会对那些如if语句后面不紧跟{}的程序员造成编译错误,而对那些使用{}编程习惯的则无影响。

举例:

#define SAFE_DELETE(p) do{ delete p; p = NULL} while(0)  //1.使用 do{ }while(0)写法

#define SAFE_DELETE(p)  { delete p; p = NULL} //2.使用{}写法

#define SAFE_DELETE(p)  delete p; p = NULL  //3.什么都不使用的写法

 

if(NULL != p) SAFE_DELETE(p)     //1.无问题 2.无问题 3.有问题,else前面有2条语句,编译失败

else   ...do sth...

 

if(NULL != p) SAFE_DELETE(p);     //1.无问题 2.有问题,括号后面跟;编译失败 3.有问题,else前面有2条       else   ...do sth...                                 //语句,编译失败

 

 

if(NULL != p) {SAFE_DELETE(p)}     //1.无问题 2.无问题 3.无问题

else   ...do sth...

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu 22.04 に Linux カーネルをインストールする方法 詳細なチュートリアル! Ubuntu 22.04 に Linux カーネルをインストールする方法 詳細なチュートリアル! Mar 01, 2024 pm 10:34 PM

Linux カーネルを Ubuntu22.04 にインストールするには、次の手順に従います。 システムを更新します。 まず、Ubuntu システムが最新であることを確認し、次のコマンドを実行してシステム パッケージを更新します。 sudoaptupdatesudoaptupgrade カーネル ファイルをダウンロードします。公式 Linux カーネル Web サイト () から必要なカーネル バージョンをダウンロードします。安定したバージョンを選択し、ソース コード ファイル (.tar.gz または .tar.xz 拡張子付き) をダウンロードします。例: wget ファイルを解凍します。次のコマンドを使用して、ダウンロードしたカーネル ソース コード ファイルを解凍します: tar-xflinux-5.14 .tar.xz ビルドの依存関係をインストールする: カーネルのビルドに必要なツールと依存関係をインストールします。実行する

Linux カーネルの起動シーケンスを変更する Linux カーネルの起動シーケンスを変更する Feb 23, 2024 pm 10:22 PM

Linux のカーネル起動シーケンスの変更 1. RHEL6/CentOS6 のカーネル起動シーケンスの変更 /etc/grub.conf ファイルを確認して、システムのカーネルの状況を確認します。ドキュメントによると、システムには 2.6.32-573.18.1.el6.x86_64 と 2.6.32-431.23.3.el6.x86_64 という 2 つのカーネル バージョンがあります。カーネルのバージョンは上から下にリストされています。 grub.conf ファイルでは、デフォルトのパラメータを調整することで、システムの起動時に使用するカーネルのバージョンを決定できます。デフォルト値は 0 で、システムが最新のカーネル バージョンを起動することを意味します。値 0 は、grub.conf ファイルにリストされている最初のコンテンツに対応します。

Android システムは Linux カーネルに基づいていますか? Android システムは Linux カーネルに基づいていますか? Mar 14, 2024 pm 03:12 PM

Android システムは Linux カーネルに基づいていますか? Android システムは、世界で最も広く使用されているモバイル オペレーティング システムの 1 つであり、常に Linux カーネルに基づいて開発されていると言われています。しかし、実際の状況はどうなのでしょうか?この問題について調べてみましょう。まず、Linux カーネルについて理解しましょう。 Linux カーネルは、オープン ソース オペレーティング システム カーネルとして、1991 年に Linus Torvalds によって初めてリリースされました。これは、And を含む多くのオペレーティング システムに優れた基盤を提供します。

Linuxカーネルの主な機能解析と解析 Linuxカーネルの主な機能解析と解析 Mar 14, 2024 am 11:27 AM

Linux カーネルの main 関数の分析と分析 Linux カーネルは大規模で複雑なシステムであり、main 関数は重要な役割を果たします。システム全体のエントリ ポイントであり、さまざまなサブシステム、ドライバー、カーネル モジュールの初期化を担当します。オペレーティング システム全体を起動します。この記事では、Linux カーネルの主な機能を分析して、その主要な機能と実行フローを具体的なコード例を通じて示します。 Linux カーネルでは、main 関数のエントリ ポイントは init/main.c ファイルの start_k です。

Linux カーネルの内部で使用されるプログラミング言語を探索する Linux カーネルの内部で使用されるプログラミング言語を探索する Mar 20, 2024 am 08:06 AM

タイトル: Linux カーネルの底部で使用されるプログラミング言語の探索 Linux カーネルは、オープンソースで安定した信頼性の高いオペレーティング システム カーネルとして、コンピュータ分野で幅広い用途に使用されています。 Linux カーネルを深く理解するには、一番下で使用されるプログラミング言語を関与させる必要があります。実際、Linux カーネルは主に C 言語で書かれています。C 言語は効率的で柔軟性があり、保守が容易なプログラミング言語であり、オペレーティング システムの開発に非常に適しています。この記事では、Linux カーネルの底部を詳細な観点から探っていきます。

Linuxカーネルのソースコード格納場所の詳細説明 Linuxカーネルのソースコード格納場所の詳細説明 Mar 14, 2024 pm 06:12 PM

Linux カーネル ソース コードの格納場所の詳細な説明 Linux カーネル ソース コードは、Linux オペレーティング システムの中核部分であり、オペレーティング システムのさまざまな機能の実装コードが含まれています。 Linux カーネルのソース コードがどこに保存されているかを理解するには、まず Linux カーネルの組織構造を理解する必要があります。 Linux カーネルのソース コードは通常、/usr/src/linux または /usr/src/linux- ディレクトリに保存されます。このディレクトリには、たくさんの

Ubuntu のコンパイルとインストール カーネルのチュートリアル。 Ubuntu のコンパイルとインストール カーネルのチュートリアル。 Feb 19, 2024 pm 02:54 PM

Ubuntu カーネルのコンパイルとインストールには、特定の専門スキルと実務経験が必要です。一般的な手順は次のとおりですが、このプロセスには特定のリスクが伴う可能性があるため、注意して続行してください。始める前に、重要なデータとシステムを必ずバックアップしてください。ソース コードを入手する: Ubuntu 公式 Web サイト () またはカーネル開発者の Web サイト () にアクセスして、最新のカーネル ソース コードをダウンロードします。ソース コードを /usr/src などの適切なディレクトリに解凍します。コンパイルの依存関係をインストールする: カーネルの構築に必要な依存関係をインストールします。ターミナルを開き、次のコマンドを実行します: sudoapt-getinstallbuild-essentiallibncurses-devbisonflexlibssl-devlibelf-d

win10のパフォーマンスはwin7と比べて向上していますか? 詳しい紹介 win10のパフォーマンスはwin7と比べて向上していますか? 詳しい紹介 Dec 23, 2023 am 09:04 AM

現在最も人気のあるシステムは win10 システムですが、もちろんアップグレードの準備をしているユーザーもいますが、そのようなユーザーが最も懸念しているのは win10 のパフォーマンスが win7 と比較して向上しているかどうかです。実際、全体的にはまだ改善の余地があり、互換性も良好です。 win10 のパフォーマンスは win7 と比較して向上していますか? 回答: win10 のパフォーマンスは win7 と比較して向上しています。パフォーマンスは主にハードウェアに関連しているため、全体的な改善はそれほど大きくありません。ただし、Win10 システムは多くの最適化が行われているため、より優れた支援を提供できます。さらに、Microsoft は win7 アップデートをサポートしなくなったため、将来的には win10 が最も一般的なシステムになるでしょう。 win10 と win7 の比較機能: 1. 構成: win7 は発売されてから 10 年以上が経過し、多くのことを経てきました。

See all articles