最初のコンパイルの前に、オープン ソース プロジェクトの関数のエラーをキャッチするために書いた単体テスト プログラムがあります。テストする必要があるすべての関数は、構造体 (この場合bn_poly
は ) へのポインターを返しますが、変数はポインターではありません。この問題にはもっと簡単な解決策があるに違いないことはわかっていますが、少しグーグルで調べた後、何も思いつきませんでした。これが私が現在行っていることです
/* only relevant part of code */
struct *bn_poly poly_summ;
unsigned i
poly_summ = (struct bn_poly*)bu_malloc(sizeof(struct bn_poly),"sum");
/* test multiplication and begin checking data */
*poly_summ = bn_poly_mul(&poly_summ,poly_eqn,poly_mul);
/* bn_poly returns a pointer to bn_poly, so i have to declare
* a temporary pointer to find the value. Is this the only way
* or is there a type cast method i am missing?
*/
私ができるようにしたいこと:
struct bn_poly poly_summ;
poly_summ = (somethingToConvertReturnVal)bn_poly_mul(&poly_summ,poly_eqn,poly_mul);
/* no memory allocation needed! */