Linuxに基づいてC開発中のいくつかの技術経験をまとめました。


最近一致でlinuxのC開発に取り組んでいます。したがって、使用する主な技術はいずれもあるメッセージの基本的なバックグラウンドアーキテクチャ思想である。この間、たくさん勉強しました。あるニュースの技術に感心しました。だから、私達のこのプロジェクトを初めから開発して、今まで、私のこの大牛級の古い大学に従って多くのものに着きました。今はゲームの中の公会システム、ミッションシステム、メールシステム、地図、ショッピングモールなど、大きいサイズの小さいシステムは全部私が担当しました。以下は私が最近まとめたわずかなものです。これからもっと多くのものがあります。ゲーム内では、時間は非常に重要な変数です。前後のエンドタイム同期、ゲーム業務のカウントダウン、心拍などの一連の機能点などがあります。時間という変数を活用できれば、以下のようないくつかの関数や変数の変化量を知る必要があります。一時点(一般的に1970年1月1日0時0分0秒)からその時点までの秒数を表します。はい、指標は秒数です。time.hファイルには、他にもいくつかのパラメータの関数

    time_t 
があります。以下の2つのタイプは、より正確にするために、

time.h , , time_t :

double difftime(time_t time1, time_t time0);
time_t mktime(struct tm * timeptr);
time_t time(time_t * timer);
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);

にもよく使われます。

/* time example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, difftime, time, mktime */
int main ()
{
  time_t timer;
  struct tm y2k;
  double seconds;
  y2k.tm_hour = 0;   y2k.tm_min = 0; y2k.tm_sec = 0;
  y2k.tm_year = 100; y2k.tm_mon = 0; y2k.tm_mday = 1;
  time(&timer);  /* get current time; same as: timer = time(NULL)  */
  seconds = difftime(timer,mktime(&y2k));
  printf ("%.f seconds since January 1, 2000 in the current timezone", seconds);
  return 0;
}
を呼び出して、現在の時間2、乱数乱数乱数は、プログラム内でも頻繁に使用されます。乱数は、いくつかのことがランダムに見えます。C言語は現在、ランド関数を提供しています。どうやって使いますか?マクロ

struct timeval *a_pstTv, struct timezone *a_pstTz
というマクロは、0からrang-1の中間の数をランダムに出しています。しかし、彼を使って私たちの配列の順序を乱させたいと思ったら、私たちはランダムにその下付きを出すことができます。そしてある具体的な要素と例えば、array[0]を交換します。3、配列と指針という話題はC言語の恒久的な話題です。現在私がよく使っている一級二級の指針については、まだ非常に困難ではありません。具体的なデータメモリのアドレスを取ることで、データの操作を行います。配列とポインタの間の相互変換などの問題点は、特に、3つの関数

gettimeofday(&pstCtx->stCurr, NULL);
が、3番目のパラメータsizeofのときに、データブロックのサイズとデータ開始位置警告が、ポインタを使用する前に、ポインタが空でないことを確認することを忘れないようにしてください。配列を使用する前に、配列の境界線に注意しなければなりません。4、コールバック関数を巧みに使って、私たちのシステムは同じタイプの関数を呼び出す必要がある場合、コールバック関数を使って登録し、コマンド関連の関数に従って、具体的な呼び出しを行います。とても使う価値があります。5、アルゴリズムかそれともアルゴリズムか。普段はコードを書いて、よく考えて、もっと頭を働かせて、このように書いたらいいかと思います。具体的なアルゴリズムを使ったほうがいいですか?効率が上がるかどうか、省スペースなどです。6、バックグラウンドのプログラムは覚えています。データベースはボトルネックです。だから、データベースとのやりとりの時に、非同期の思想を使って、データをデータベースに落とします。プログラムは何をすればいいですか?成功するかどうかを知っています。必ず戻ってくるデータマークを確保して、手順を教えてください。今日はこんなに多く書きたいです。頑張ってください。