7月27日[C]2次元配列のポインタを関数の引数で渡すやりたいこと 2次元配列に作用する処理がある 処理の対象となる配列が複数ある このような場合、この処理は関数化したいが、引数をどう定義するのかちょっと迷った やり方 配列サイズは固定とすれば、以下のようにすればよい // Define a typedef for the...
7月27日[C]関数ポインタの配列やりたいこと 掲題の通りだが、関数ポインタの配列を定義したい。 具体的にどう使うかというと、例えばpthread_createの第3引数は新規スレッドで実行したい関数のポインタを渡す。複数の関数に対してそれぞれ新規スレッドを割り当てる場合、それらのポインタを配列にしてまとめ...
2023年1月7日[C]動的リンクとは概要 前回、コンパイルとリンクについて説明しました。 今回は動的リンクについて説明します。 動的リンク 前回の説明では、リンクをすると関数のアドレスが決まり、関数呼び出しはそのアドレスへのジャンプになると説明しました。 この時、関数の定義コードが全てexeファイルとして一つ...
2023年1月7日[C]コンパイルエラーとリンクエラー概要 前回、コンパイルとリンクについて説明しました。 今回は、それを元にコンパイルエラーとリンクエラーについて説明します。 コンパイルエラー コンパイルで行われるのは 1 コードのバイナリ化 2 あるものリスト、欲しいものリストの作成...
2023年1月7日[C]コンパイルとリンク概要 Cでプログラムを書いて実行する場合、「コンパイル」と「リンク」の2つを行います。 これらが何をやっているのかしっかり理解していなかったので、自分なりにまとめてみました(なので本記事には真新しい内容はありません)。 全体的に直感的な説明をしているので正確ではないところが...
2023年1月2日[C]関数から返したアドレスを後から参照すると値がおかしい現象 C言語で関数(func_a)を作成。引数の内容をもとにある構造体のインスタンスを作成し、そのアドレスを返す。 そのアドレスはその後別の関数(func_b)の引数に使用。アドレスを参照し、func_aで作成した構造体の内容をもとに規定の処理を行う。 typedef...
2021年2月21日cythonで書いたコードをVC++でビルドする時の注意点概要 pythonで書いた機能をwindowsデスクトップアプリに組み込みたい場合、cythonで機能を書いてVC++でdllにビルドするという方法があります。この時にハマったことを残しておきたいと思います。 内容と対応...