目次
1. ファイル記述子(キーポイント)
1.1 概念の紹介" >1.1 概念の紹介
1.2图表解释
1.4を使用しますファイル記述子を表示するにはプログラムを使用します
ホームページ 運用・保守 Linuxの運用と保守 ファイル記述子と FILE の概念の紹介

ファイル記述子と FILE の概念の紹介

Jun 21, 2017 pm 01:44 PM
file 書類

1. ファイル記述子(キーポイント)

Linuxシステムではすべてをファイルとみなして、ファイルは通常のファイル、ディレクトリファイル、リンクファイル、デバイスファイルに分けられます。ファイル記述子は、開いているファイルを効率的に管理するためにカーネルによって作成されるインデックスであり、開いているファイルを参照するために使用されるすべての I/O 操作が実行されます。ファイル記述子を調べます。プログラムの初回起動時は、0が標準入力、1が標準出力、2が標準エラーとなります。この時点で新しいファイルを開くと、そのファイル記述子は 3 になります。

1.1 概念の紹介

ファイル記述子操作 (open()、creat()、close()、read()) は、int 型の整数であるファイル記述子を返します。 fd の本質はファイル記述子テーブルの添え字であり、インデックスとして機能します。このプロセスは、PCB 内のファイル記述子テーブルを通じて fd が指すファイル ポインタ filp を見つけます。各プロセスは、プロセス制御ブロックである PCB (プロセス制御ブロック) にファイル記述子テーブルを格納します。ファイル記述子は、このテーブルのインデックスであり、開いているファイルへのポインタを持ちます。開かれたファイルはカーネル内の file 構造によって表され、ファイル記述子テーブル内のポインタは file 構造を指します。デフォルトでは、ファイルが開かれるたびに、未使用の最小インデックスから fd が割り当てられます。ファイル記述子の欠点: UNIX 以外のシステムに移植できず、直感的ではありません。 file结构体表示,文件描述符表中的指针指向file结构体。每打开一个文件,fd默认从最小的未被使用的下标开始分配。文件描述符的缺点:不能移植到UNIX以外的系统上去,也不直观。

下面画张图来表示它们之间的关系:

 而每个文件中又主要包含以下这些信息:

1.2图表解释

file结构体中维护File Status Flag(file结构体的成员f_flags)和当前读写位置(file结构体的成员f_pos)。在上图中,进程1和进程2都打开同一文件,但是对应不同的file结构体,因此可以有不同的File Status Flag和读写位置。file结构体中比较重要的成员还有f_count,表示引用计数(Reference Count),后面我们会讲到,dupfork等系统调用会导致多个文件描述符指向同一个file结构体,例如有fd1fd2都引用同一个file结构体,那么它的引用计数就是2,当close(fd1)时并不会释放file结构体,而只是把引用计数减到1,如果再close(fd2),引用计数就会减到0同时释放file结构体,这才真的关闭了文件。

每个file结构体都指向一个file_operations结构体,这个结构体的成员都是函数指针,指向实现各种文件操作的内核函数。比如在用户程序中read一个文件描述符,read通过系统调用进入内核,然后找到这个文件描述符所指向的file结构体,找到file结构体所指向的file_operations结构体,调用它的read成员所指向的内核函数以完成用户请求。在用户程序中调用lseekreadwriteioctlopen等函数,最终都由内核调用file_operations的各成员所指向的内核函数完成用户请求。file_operations结构体中的release成员用于完成用户程序的close请求,之所以叫release而不叫close是因为它不一定真的关闭文件,而是减少引用计数,只有引用计数减到0才关闭文件。对于同一个文件系统上打开的常规文件来说,readwrite等文件操作的步骤和方法应该是一样的,调用的函数应该是相同的,所以图中的三个打开文件的file结构体指向同一个file_operations结构体。如果打开一个字符设备文件,那么它的readwrite操作肯定和常规文件不一样,不是读写磁盘的数据块而是读写硬件设备,所以file结构体应该指向不同的file_operations

それらの関係を示すために以下の図を描いてください: 🎜🎜 各ファイルには主に次の情報が含まれています: 🎜🎜1.2チャートの説明🎜🎜 ファイル ステータス フラグ (file 構造体 f_flags のメンバー) と file 構造体での現在の読み取り位置を維持します。 書き込み位置 (メンバー) file 構造の f_pos)。上の図では、プロセス 1 とプロセス 2 は両方とも同じファイルを開きますが、異なる file 構造に対応するため、異なるファイル ステータス フラグと読み取りおよび書き込みの場所を持つことができます。 file 構造体のより重要なメンバーは、参照カウントを表す f_count です。これについては後で説明します。dupfork などの呼び出しにより、複数のファイル記述子が同じ file 構造 (fd1fd2 など) を指すようになります。同じ file 構造を参照すると、その参照カウントは 2 になり、 file 構造は close(fd1) 時に解放されません。参照カウントが 1 に減少するだけです。再度 close(fd2) を実行すると、参照カウントは 0 に減少し、実際に閉じられた file 構造が解放されます。 。 書類。 🎜🎜各 file 構造体は file_operations 構造体を指します。この構造体のメンバーは、さまざまなファイル操作を実装するカーネル関数を指す関数ポインターです。たとえば、ユーザー プログラムでファイル記述子を read し、read がシステム コールを通じてカーネルに入り、次に指す file 構造を見つけます。ファイル記述子本体によって、file 構造体が指す file_operations 構造体を見つけ、その read メンバーが指すカーネル関数を呼び出します。ユーザーリクエストを完了します。 lseekreadwriteioctlopen などを呼び出します。ユーザー プログラム関数。最終的にカーネルは、file_operations の各メンバーが指すカーネル関数を呼び出して、ユーザー リクエストを完了します。 file_operations 構造体の release メンバーは、ユーザー プログラムの close リクエストを完了するために使用されます。これが release と呼ばれる理由です。 は、必ずしもファイルを閉じるわけではありませんが、参照カウントが 0 になった場合にのみファイルが閉じられるため、close と呼ばれます。同じファイル システム上で開かれる通常のファイルの場合、readwrite などのファイル操作の手順とメソッドは同じである必要があり、呼び出される関数も同じである必要があります。したがって、図内の 3 つの開いているファイルの file 構造は、同じ file_operations 構造を指します。キャラクタ デバイス ファイルを開く場合、その read および write 操作は、通常のファイルの操作とは明らかに異なります。ディスク データ ブロックの読み取りと書き込みは行われません。したがって、file 構造は、デバイスのドライバーによってさまざまなファイル操作関数が実装される、さまざまな file_operations 構造を指す必要があります。 🎜

file 構造には、dentry 構造へのポインタがあります。 「dentry」はディレクトリ エントリの略です。 openstat、およびその他の関数に渡すパラメータは、/home/akaedu/a などのパスであり、次のパスを見つける必要があります。ファイルはパスに基づいて作成されます。ディスク読み取りの回数を減らすために、カーネルは dentry キャッシュと呼ばれるディレクトリのツリー構造をキャッシュします。この構造では、各ノードが dentry 構造になっており、ディレクトリの各部分で dentry に沿って検索するだけです。ルート ディレクトリ / からのパスは、home ディレクトリを検索し、次に akaedu ディレクトリを検索し、次にファイル aコード>。 dentry キャッシュは、最近アクセスしたディレクトリ エントリのみを保存します。探しているディレクトリ エントリがキャッシュにない場合は、ディスクからメモリに読み取る必要があります。 <code>file结构体都有一个指向dentry结构体的指针,“dentry”是directory entry(目录项)的缩写。我们传给openstat等函数的参数的是一个路径,例如/home/akaedu/a,需要根据路径找到文件的inode。为了减少读盘次数,内核缓存了目录的树状结构,称为dentry cache,其中每个节点是一个dentry结构体,只要沿着路径各部分的dentry搜索即可,从根目录/找到home目录,然后找到akaedu目录,然后找到文件a。dentry cache只保存最近访问过的目录项,如果要找的目录项在cache中没有,就要从磁盘读到内存中。

每个dentry结构体都有一个指针指向inode结构体。inode结构体保存着从磁盘inode读上来的信息。在上图的例子中,有两个dentry,分别表示/home/akaedu/a/home/akaedu/b,它们都指向同一个inode,说明这两个文件互为硬链接。inode结构体中保存着从磁盘分区的inode读上来信息,例如所有者、文件大小、文件类型和权限位等。每个inode结构体都有一个指向inode_operations结构体的指针,后者也是一组函数指针指向一些完成文件目录操作的内核函数。和file_operations不同,inode_operations所指向的不是针对某一个文件进行操作的函数,而是影响文件和目录布局的函数,例如添加删除文件和目录、跟踪符号链接等等,属于同一文件系统的各inode结构体可以指向同一个inode_operations结构体。

inode结构体有一个指向super_block结构体的指针。super_block结构体保存着从磁盘分区的超级块读上来的信息,例如文件系统类型、块大小等。super_block结构体的s_root成员是一个指向dentry的指针,表示这个文件系统的根目录被mount到哪里,在上图的例子中这个分区被mount/home目录下。

filedentryinodesuper_block

dentry 構造体には、inode 構造体を指すポインターがあります。 inode 構造には、ディスク i ノードから読み取られた情報が格納されます。上の例では、/home/akaedu/a/home/akaedu/b を表す 2 つの dentry があり、両方とも同じ i ノードを指していることがわかります。 2 つのファイルは相互にハードリンクされています。 inode 構造には、ディスク パーティションの i ノードから読み取られた情報 (所有者、ファイル サイズ、ファイル タイプ、アクセス許可ビットなど) が保存されます。各 inode 構造体には inode_operations 構造体へのポインタがあり、これはファイル ディレクトリ操作を完了するいくつかのカーネル関数を指す関数ポインタのセットでもあります。 file_operations とは異なり、inode_operations は特定のファイルを操作する関数を指しませんが、ファイルやディレクトリの追加、削除など、ファイルやディレクトリのレイアウトに影響を与える関数を指します。シンボリック リンクなどの追跡では、同じファイル システムに属する各 inode 構造は、同じ inode_operations 構造を指すことができます。

inode 構造体には、super_block 構造体へのポインターがあります。 super_block 構造には、ファイル システム タイプ、ブロック サイズなど、ディスク パーティションのスーパー ブロックから読み取られた情報が格納されます。 super_block 構造体の s_root メンバーは、dentry へのポインタであり、このファイル システムのルート ディレクトリが mount であることを示します。 code> 上記の例では、このパーティションは <code>/home ディレクトリに mount されています。

filedentryinodesuper_block これらの構造は VFS (仮想ファイル システム VFS、中心概念) を形成します。仮想ファイルシステムの)。
1.3 ファイル記述子に対する操作

(1). Linux ファイル記述子の表示

 1 [root@localhost ~]# sysctl -a | grep -i file-max --color 3 fs.file-max = 392036 5 [root@localhost ~]# cat /proc/sys/fs/file-max 7 392036 9 [root@localhost ~]# ulimit -n11 102413 [root@localhost ~]#
ログイン後にコピー

Linux では、最大ファイル記述子には 2 つの制限があります。1 つはユーザーレベルの制限で、もう 1 つはシステムレベルの制限です。 。

システムレベルの制限: sysctl コマンドと proc ファイルシステムによって表示される値は同じです。これは、すべてのユーザーのオープンファイル記述子の総数を制限します。ユーザーレベルの制限: ulimit コマンドで表示 到達するのはユーザーレベルの最大ファイル記述子の制限です。これは、ログイン後に各ユーザーが実行するプログラムによって占有されるファイル記述子の総数がこの制限を超えることはできないことを意味します

( 2). ファイル記述子の値を変更します
1 [root@localhost ~]# ulimit-SHn 102402 [root@localhost ~]# ulimit  -n3 102404 [root@localhost ~]#
ログイン後にコピー

上記の変更は現在のセッションでのみ有効であり、永続的な変更が必要な場合は次のように変更する必要があります:
1 [root@localhost ~]# grep -vE'^$|^#' /etc/security/limits.conf2 *                hard nofile                  40963 [root@localhost ~]#
ログイン後にコピー
1 //默认配置文件中只有hard选项,soft 指的是当前系统生效的设置值,hard 表明系统中所能设定的最大值2 [root@localhost ~]# grep -vE'^$|^#' /etc/security/limits.conf3 *      hard         nofile       102404 *      soft         nofile      102405 [root@localhost ~]#6 // soft<=hard soft的限制不能比hard限制高
ログイン後にコピー

(3). システム制限を変更します

1 [root@localhost ~]# sysctl -wfs.file-max=4000002 fs.file-max = 4000003 [root@localhost ~]# echo350000 > /proc/sys/fs/file-max  //重启后失效4 [root@localhost ~]# cat /proc/sys/fs/file-max5 3500006 [root@localhost ~]#
ログイン後にコピー

//上記はファイル記述子を一時的に変更します
//永続的に変更するには、/etc/sysctl.confにfs.file-max=400000を追加し、sysctl -p

1.4を使用しますファイル記述子を表示するにはプログラムを使用します

次のプログラムを使用して、/home/shenlan/hello.c ファイルを開きます。このディレクトリに hello.c ファイルがない場合は、プログラムが自動的に作成します。プログラムで返されるファイル記述子は 3 です。プロセスが開始されると、標準入力 (0)、標準出力 (1)、標準エラー処理 (2) の 3 つのファイルが開かれるため、デフォルトでは、fd は未使用のインデックスの小さいものから割り当てられるため、返されるファイルは説明 記号は3です。

りー

执行结果:

1.5进程打开一个文件的具体流程    

进程通过系统调用open( )来打开一个文件,实质上是获得一个文件描述符,以便进程通过文件描述符为连接对文件进行其他操作。进程打开文件时,会为该文件创建一个file对象,并把该file对象存入进程打开文件表中(文件描述符数组),进而确定了所打开文件的文件描述符。        open( )操作在内核里通过sys_open( )实现的,sys_open( )将创建文件的dentryinodefile对象,并在file_struct结构体的进程打开文件表fd_array[NR_OPEN_DEFAULT]中寻找一个空闲表项,然后返回这个表项的下标(索引),即文件描述符。创建文件的file对象时,将file对象的f_op指向了所属文件系统的操作函数集file_operations,而该函数集又来自具体文件的i节点,于是虚拟文件系统就与实际文件系统的操作衔接起来了。

 2.C标准库中的FILE结构和文件描述符

C语言中使用的是文件指针而不是文件描述符做为I/O的句柄."文件指针(file pointer)"指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符值.而文件描述符值是文件描述符表中的一个索引.从某种意义上说文件指针就是句柄的句柄。流(如: fopen)返回的是一个FILE结构指针, FILE结构是包含有文件描述符的,FILE结构函数可以看作是对fd直接操作的系统调用的封装, 它的优点是带有I/O缓存。

从文件描述符fd 到文件流 FILE* 的函数是
FILE* fdopen(int filedes,const char* mode);

早期的C标准库中,FILEstdio.h中定义Turbo C中,参见谭浩强的《C程序设计》,FILE结构体中包含成员fd,即文件描述符。亦可以在安装的Ubuntu系统的/usr/include/stdio.h中找到struct _IO_FILE结构体,这个结构体比较复杂,我们只关心需要的部分-文件描述符,但是在这个的结构体中,我们并没有发现与文件描述符相关的诸如fd成员变量。此时,类型为int_fileno结构体成员引起了我们的注意,但是不能确定其为文件描述符。因此写个程序测试是最好的办法,可以用以下的代码测试:

 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<sys/types.h> 4 #include<sys/stat.h> 5 #include<fcntl.h> 6 int main( ) 7 { 8        char buf[50] = {"ILOVE this game!"}; 9        FILE *myfile;10 11        myfile = fopen("2.txt","w+");12        if(!myfile){13               printf("error:openfile failed!\n");14        }15        printf("The openedfile's descriptor is %d\n",myfile->_fileno);16        if(write(myfile->_fileno,buf,50)< 0){17               perror("error:writefile failed!\n");18               exit(1);19        }else{20               printf("writefile successed!\n");21        }22        exit(0);23 }
ログイン後にコピー

プログラムでは、fopen関数を使用して、2.txtファイルを読み書き用に開きます。2.txtファイルが存在しない場合は、このファイルを作成します。そして、FILEポインタmyfileを返します。 printfを使用してmyfile->_filenoの値を標準端末に出力し、myfile->_filenoをファイル記述子としてwriteシステムコールに渡して、開いているファイルにバッファデータを書き込みます。次に、cat コマンドを使用して、2.txt の内容を表示します。実行結果を図に示します。標準入力、出力、エラーが 012 であるため、_fileno の値は 3 です。出力結果は次のとおりです:
したがって、_filenoメンバーは、ファイルを開いたときにオペレーティングシステムによって返されるハンドル(windowsシステム)またはファイル記述子です。さらに詳しく学習するには、People's Posts and Telecommunications Press が発行する「CStandard Library」を読むことができます。もちろん、/glibc-2.9/manual/io.txti ファイルを読み取ることもできます。 Linuxでは、ファイル記述子割り当ては、ファイル記述子が小さいものから大きいものまで1つずつ使用されているかどうかを確認し、割り当ててテストするプログラムを書くこともできます。

ファイル記述子テーブルは、ファイル記述子配列とも呼ばれ、プロセスによって開かれたすべてのファイルを保存します。ファイル記述子の配列は、プロセスのオープン ファイル テーブル files_struct 構造に含まれています。 /include/linux/fdtable.hで定義され、file---fd_array[NR_OPEN_DEFAULT]タイプのポインタの配列であり、NR_OPEN_DEFAULTfdtable.hで定義されています。これは、特定の CPU アーキテクチャ、#define NR_OPEN_DEFAULTBITS_PER_LONG に関連する変数です。

FILE構造体とファイル記述子、file構造体の関係は、次の図で表すことができます。

以上がファイル記述子と FILE の概念の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

期限切れの WeChat ファイルを復元する方法? 期限切れの WeChat ファイルは復元できますか? 期限切れの WeChat ファイルを復元する方法? 期限切れの WeChat ファイルは復元できますか? Feb 22, 2024 pm 02:46 PM

WeChat を開き、[自分の設定] を選択し、[一般] を選択してから [記憶域スペース] を選択し、[記憶域スペース] で [管理] を選択し、ファイルを復元する会話を選択して、感嘆符アイコンを選択します。チュートリアル 適用モデル: iPhone13 システム: iOS15.3 バージョン: WeChat 8.0.24 分析 1 まず、WeChat を開き、マイページの [設定] オプションをクリックします。 2 次に、設定ページで [一般オプション] を見つけてクリックします。 3次に、一般ページで「記憶域スペース」をクリックします。 4 次に、ストレージスペースページで「管理」をクリックします。 5最後に、ファイルを回復したい会話を選択し、右側の感嘆符アイコンをクリックします。補足: WeChat ファイルの有効期限は通常、数日です。WeChat で受信したファイルがクリックされなかった場合、WeChat システムは 72 時間後にそのファイルを消去します。WeChat ファイルが閲覧された場合、

形式がサポートされていないか、ファイルが破損しているため、写真ではこのファイルを開けません 形式がサポートされていないか、ファイルが破損しているため、写真ではこのファイルを開けません Feb 22, 2024 am 09:49 AM

Windows では、フォト アプリは写真やビデオを表示および管理するのに便利な方法です。このアプリケーションを通じて、ユーザーは追加のソフトウェアをインストールすることなく、マルチメディア ファイルに簡単にアクセスできます。ただし、写真アプリの使用時に「形式がサポートされていないため、このファイルを開けません」というエラー メッセージが表示されたり、写真やビデオを開こうとしたときにファイルが破損したりするなど、ユーザーが何らかの問題に遭遇することがあります。この状況はユーザーにとって混乱を招き不便になる可能性があり、問題を解決するには調査と修正が必要になります。ユーザーが写真アプリで写真またはビデオを開こうとすると、次のエラーが表示されます。申し訳ありませんが、この形式が現在サポートされていないか、ファイルがサポートされていないため、フォトではこのファイルを開くことができません

Windows 11/10 では削除の準備に時間がかかります Windows 11/10 では削除の準備に時間がかかります Feb 19, 2024 pm 07:42 PM

この記事では、Windowsシステムでファイルやフォルダーを削除するときに「削除の準備ができました」というメッセージが表示される問題の解決方法を紹介します。このプロンプトは、ファイルのアクセス許可のチェック、ファイルが他のプログラムによって占有されているかどうかの確認、削除する項目のサイズの計算など、システムがバックグラウンド操作を実行していることを意味します。あまり長く待たずにファイルを正常に削除できるようにするための回避策をいくつか紹介します。 Windows がファイルを削除するのにこれほど時間がかかるのはなぜですか? Windows がファイルの削除を準備するのにかかる時間は、ファイル サイズ、ストレージ デバイスの速度、バックグラウンド プロセスなどのさまざまな要因の影響を受けます。 「削除の準備をしています」というプロンプトが長い、または停止している場合は、システム リソースの不足、ディスク エラー、またはファイル システムの問題を示している可能性があります。存在する

Tmp形式のファイルは削除できますか? Tmp形式のファイルは削除できますか? Feb 24, 2024 pm 04:33 PM

tmp 形式ファイルは、通常、コンピュータ システムまたはプログラムの実行中に生成される一時ファイル形式です。これらのファイルの目的は、プログラムを適切に実行したり、パフォーマンスを向上させるために一時データを保存することです。プログラムの実行が完了するか、コンピュータが再起動されると、多くの場合、これらの tmp ファイルは必要なくなります。したがって、Tmp 形式のファイルは基本的に削除可能です。さらに、これらの tmp ファイルを削除すると、ハード ディスクの空き容量が確保され、コンピュータが正常に動作するようになります。ただし、Tmp 形式のファイルを削除する前に、次のことを行う必要があります。

GHOファイルのインストール方法 GHOファイルのインストール方法 Feb 19, 2024 pm 10:06 PM

gho ファイルは GhostImage イメージ ファイルであり、通常、ハードディスク全体またはパーティション データをファイルにバックアップするために使用されます。特定のケースでは、ハード ドライブまたはパーティションを以前の状態に復元するために、この gho ファイルをハード ドライブに再インストールする必要があります。 ghoファイルのインストール方法を紹介します。まず、インストールする前に、次のツールとマテリアルを準備する必要があります。 エンティティ gho ファイル: 完全な gho ファイルがあることを確認してください。通常、ファイルには .gho 接尾辞が付いており、バックアップが含まれています。

0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 Mar 21, 2024 pm 09:17 PM

パソコン上のフォルダーを削除または解凍するときに、「エラー 0x80004005: 不明なエラー」というダイアログ ボックスが表示されることがあります。この状況はどう解決すればよいでしょうか?エラー コード 0x80004005 が表示される理由は実際にはたくさんありますが、そのほとんどはウイルスによって引き起こされます。DLL を再登録して問題を解決できます。以下では、エディターがエラー コード 0x80004005 の処理体験を説明します。 。一部のユーザーは、コンピュータの使用時にエラー コード 0X80004005 を表示されます。0x80004005 エラーは主に、コンピュータが特定のダイナミック リンク ライブラリ ファイルを正しく登録していないこと、またはファイアウォールがコンピュータとインターネット間の HTTPS 接続を許可していないことが原因で発生します。それでどうですか

紅夢ネイティブアプリケーションのランダムな詩 紅夢ネイティブアプリケーションのランダムな詩 Feb 19, 2024 pm 01:36 PM

オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

ファイルパスでのスラッシュとバックスラッシュのさまざまな使用法 ファイルパスでのスラッシュとバックスラッシュのさまざまな使用法 Feb 26, 2024 pm 04:36 PM

ファイル パスは、ファイルまたはフォルダーを識別して検索するためにオペレーティング システムによって使用される文字列です。ファイル パスには、パスを区切る 2 つの一般的な記号、つまりスラッシュ (/) とバックスラッシュ () があります。これら 2 つのシンボルは、オペレーティング システムごとに異なる用途と意味を持ちます。スラッシュ (/) は、Unix および Linux システムで一般的に使用されるパス区切り文字です。これらのシステムでは、ファイル パスはルート ディレクトリ (/) から始まり、各ディレクトリ間はスラッシュで区切られます。たとえば、パス /home/user/Document

See all articles