[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/29 20:01 / Filesize : 311 KB / Number-of Response : 1038
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.106【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 13:51:48.09 ID:WBkWHxcT.net]
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
codepad.org/
https://ideone.com/

前スレ
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/

936 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 23:47:34.07 ID:Bry4gZCu.net]
>>903
Aのルーチンで使ってるオブジェクトとBのルーチンで使ってるオブジェクトが同じかどうかはわかる
それ以上のことを知りたいなら個別に表示ルーチンを組むしかない

937 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:18:19.62 ID:F6gMvu/h.net]
ガチガチの初心者です

#include<iostream>

double func(double x){
if (x>0) return x;
else return 0;
}

double dfunc(double x){
if (x>0) return 1;
else return 0;
}

int main(){
for (double x=-1.0; x<1; x+=0.1){
std::cout << std::scientific;
std::cout << x << ",";
std::cout << func(x) << ",";
std::cout << dfunc(x) << std::endl;
}
return 0;
}

を分割コンパイルするためにmain.cpp、func.cpp、func.fにソース分割したいのですがどのようにすればよいでしょうか

938 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:41:33.39 ID:LNIGuTho.net]
>>905 その3つファイル作って切り貼りして保存すればいいんじゃね。

939 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:44:31.98 ID:F6gMvu/h.net]
>>906
すみません、書き方が悪かったです。分割の仕方?切り貼りして保存する3つのファイルの中身の書き方が知りたいです。

940 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:47:36.64 ID:3ZSK4aSw.net]
>>907
なぜ調べもしない?
「C言語 分割コンパイル」でググりゃ

941 名前:あ出てくるっしょ []
[ここ壊れてます]

942 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:48:20.54 ID:LNIGuTho.net]
>>907 自分でやった結果を見せてもらわないと何に困ってるのかわからない。

943 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:08:03.21 ID:fQ9LbNHB.net]
>>905
とりあえず func.f はやめとけ

944 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:27:29.71 ID:54L0j00R.net]
ふぉーとらんらんらん



945 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:27:47.66 ID:CzloZbS7.net]
>>905
どんな入門書にも書いてあるようなことを質問するのは嫌がられる。
学ぶ気がなく代わりにやらせようとしているように見えるので。
そんで関連する事柄が多いので質問が具体的でないと単純に情報量的にとてもここには書けない。

細々としたところで引っかかるのは当然あることだしそういうのは喜んで回答するから
何がわからずに引っかかってるのかもうちょっと具体的にして欲しい。

わからないことをまとめられないなら
とりあえず自分なりにやってみたらどうなったのか見せれば、
何がわかってないかこっちで推測できる可能性がある。

946 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 00:03:59.30 ID:9peRckoc.net]
if (fp = fopen("file.txt", "W+"))

って書くと↓が出るんだけど?

warning: suggest parentheses around assignment used as truth value

947 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 00:50:39.94 ID:5Jw8HjAD.net]
まあ気に食わないが括弧でくくってやってる

948 名前:蟻人間 mailto:sage [2022/02/02(水) 00:57:41.77 ID:gV8dH/Sr.net]
if文では、代入と比較の混乱が深刻で、警告を出さなければいけなかったと聞いてるが。

949 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 08:17:16.11 ID:BmWHIg0d.net]
論理型を省略した代償は高くつきすぎたな。

950 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 10:18:30.37 ID:l1cc3wPX.net]
0とヌルの違いも曖昧な部分があったな

951 名前:はちみつ餃子 mailto:sage [2022/02/02(水) 11:07:29.08 ID:5i7w7V2o.net]
>>913
強めの警告オプションを付けてたら言語仕様上の問題がないものでも良くない作法に対しては警告が出ることはある。
a && b || c
とかいう式でも (人間が) 優先度を勘違いしやすいから括弧を付けることを勧められるし、
インデントの付け方がずれてる場合とかも警告は出る。

余計なお世話だと思うなら大抵はオプションで抑制できるよ。

952 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 16:52:47.21 ID:Os1L/Ifx.net]
括弧でくくっただけじゃ文句いわれたこともあるので二重否定しとく
if (!!(fp = fopen("file.txt", "W+")))

953 名前:はちみつ餃子 mailto:sage [2022/02/02(水) 17:18:37.99 ID:5i7w7V2o.net]
C++17 以降では if 文の括弧の中に初期化を書けるようになった。
初期化の内容と判断に使う式をセミコロンで区切って書ける。

if (fp = fopen("file.txt", "W+"); fp)

このとき変数の宣言を書いてもよく、

if (FILE* fp = fopen("file.txt", "W+"); fp)

というようにすると、この変数のスコープを if 文の内側だけに制限できるので便利。
便利だから C にも導入して欲しい。

954 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 17:39:51.00 ID:il4bRKm2.net]
if括弧中で初期化なんて前からやってたことだし
今じゃ代入も初期化になったのか



955 名前:はちみつ餃子 mailto:sage [2022/02/02(水) 18:18:35.55 ID:5i7w7V2o.net]
>>921
以前は「条件が宣言でもよい」だったところに
あらたに「初期化文と条件のふたつを書ける」「初期化文は式、もしくは単純宣言である」というルールが追加された形。

956 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 08:24:13.76 ID:vXrgdSa9.net]
デストラクタだけ書いてあってムーブできないクラスをメンバ変数にすると色んな所でコンパイルエラーが出て困りました
値ではなくポインタで持つか、自分のクラスででムーブコンストラクタを書いたらとりあえずはエラーが出なくなったのですが、
こういうクラスは一体どう使われるのを想定して実装したんでしょうか?

957 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 18:34:16.03 ID:SQWxHGFm.net]
基底クラスからたくさん派生クラスを作りました。
基底クラスの1つのvirtualメソッドを、各派生クラスでoverrideしました。
基底クラスを指す箱から、派生クラスのメソッドを呼ぶ方法を教えてください。

多少スタイルを変えても実現する方法があればお願いします。
ただし、場合分けやインデックスで対応するのは(派生クラスが増えたときに修正箇所が分散するので)厳しいです。
コンパイラは最近のvisual studioのC++を使っています。

struct Basic{
 virtual void work(){cout<<"Basic";}
};
struct B1:public Basic{
 void work()override{cout<<"B1";}
}b1;
struct B30:public Basic{
 void work()override{cout<<"B30";}
}b30;

void main(){
 Basic basic_array[9];
 basic_array[0]=b30;
 basic_array[0].work();//基底クラスのメソッドが呼ばれて Basic と表示されてしまう。
}

958 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 19:25:55.42 ID:WarIH046.net]
Basicの配列にはBasicのオブジェクトしか入らないから、b30もコピーしたときにBasicになってしまったからだよ

Basic*の配列にするかvector<uniq_ptr<Basic>>を使えば

959 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 19:56:37.56 ID:SQWxHGFm.net]
>>925
ポリモーフィズム成功しました。基底クラスのポインタを使って解決しました。
また、基底クラスの変数にコピーすると派生クラス独自のメンバが全て無くなることが理解できました。

ありがとうございました。

void main(){
 Basic*basic_array[9];
 basic_array[0]=&b30;
 basic_array[0]->work();//B30のメソッドが呼ばれた。
}

960 名前:デフォルトの名無しさん mailto:sage [2022/02/11(金) 14:30:39.44 ID:/nAwqwYv.net]
>>925
> vector<uniq_ptr<Basic>>を使え

動的にインスタンスを作り始めた途端に、コンテナとスマートポインタが必要になりました。
見事すぎる回答に改めて感謝します。

961 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 10:16:19.82 ID:+V9f8lU9.net]
例外で飛んじゃうと後始末ができなくてメモリリークしちゃうんだけど

クラスでラップしてデストラクタっていちいちやる感じ?

962 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 10:30:02.61 ID:+V9f8lU9.net]
try~catchで囲えば処理できるけど
すべての例外が出る可能性のあるコード全部try~catchしちゃっていい?

963 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 11:08:23.85 ID:v7utSHD9.net]
>>928
「いちいちやる」っていうか、同種のリソースを扱うときはいつも必要になる対応だからデストラクタでいいんだよ。
大抵はunique_ptrとか標準にあるもので済むし。

964 名前:はちみつ餃子 mailto:sage [2022/02/18(金) 11:40:56.58 ID:fowo2HBL.net]
>>928
いちいち個別対応したくないからクラス定義に押し込めるんだよ。



965 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 12:17:15.52 ID:+V9f8lU9.net]
>>931
今回のとこちょっとなんだけどなぁ
例外発生するとこ全部でやらなあかんやんコレ
クソ杉ちゃう?

966 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 12:21:15.24 ID:mVeDXtSU.net]
なにいってんの

967 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 12:27:42.18 ID:+V9f8lU9.net]
えー、わからんのー?

つまり例外が発生しうるとこすべてで
尻切れトンボされる可能性があって
以前のようにmalloc-freeのコードが混じってるとそいつらは問答無用でメモリリークしちゃうって話よ

968 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 12:47:42.19 ID:YFQd7auv.net]
malloc/freeなら検出できるやん

969 名前:はちみつ餃子 mailto:sage [2022/02/18(金) 12:48:02.74 ID:fowo2HBL.net]
>>932
対処する必要があるところで catch して解放するだけだろう。
それがどうして出来ないんだ?

970 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 13:19:45.68 ID:+V9f8lU9.net]
まあ、それよ
そういう対応が必要になるって話よ
追加するやつ全部trycatchで包むか
mallocfreeをクラスで包むか
入れたのは20行程度なのにルーチンの流れまで変える必要があったりなかったりで(# ゚Д゚) イラッ!

971 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 13:39:34.12 ID:v7utSHD9.net]
>>934
malloc-freeしてる既存コードに例外発生する処理

972 名前:混ぜるなんて特殊状況ならしょうがない。
面倒な状況なのはわかる。あきらめて心を殺してtry catchするか小さいRAII用クラスを作るか。
あるいはmalloc-freeしてるところも標準コンテナやunique_ptrに置き換えていけばすっきりするかもね。
[]
[ここ壊れてます]

973 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 09:00:24.16 ID:AlOKsuc0.net]
>>932
クソすぎかもしれないが、それは必要だし普通だろ

974 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 10:43:55.59 ID:MFjncly/.net]
メモリ解放以外にデストラクタでやることはあるわけだしな
集約して定義しとけよという



975 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 22:51:16.35 ID:wIy/pNxS.net]
LinuxでyyyyMMddhhmmss.fffを出力する
一番簡単な方法を教えて下さい

976 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 23:05:24.02 ID:w9Xuob20.net]
printf("yyyyMMddhhmmss.fff");

977 名前:蟻人間 mailto:sage [2022/03/09(水) 23:58:24.65 ID:ptoc1SJJ.net]
GNU/Linuxを仮定
system("date +%Y%m%d%H%M%S.%3N\");

978 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 00:03:44.70 ID:IfzvyEOT.net]
日付のフォーマットなんて都度調べるもんな
覚えてる変なやつもいるんだろうね

979 名前:蟻人間 mailto:sage [2022/03/10(木) 00:11:23.45 ID:3vn8A8hZ.net]
https://shino-tec.com/2019/06/08/time-to-string-on-linux/

980 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 07:16:50.83 ID:ZtFzrJEF.net]
>>945
これやったら秒とミリ秒を別で取得してるので
秒が59.999(ミリ秒はイメージ)のときに
ミリ秒は00.002ってなるときに前回の値が59.857ぐらいだったとすると

59.002ってなってしまうので逆転が起きたときは前回の値と比較して
逆転してたらミリ秒を強制的に999にするとかダサイことやってるんですけど
マジでこんな方法しかないでしょうか?

981 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 07:48:07.93 ID:E/Z/b8gJ.net]
>>946
そのダサいことをやってるのは何行目?
見つからないよ

982 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 08:52:39.45 ID:pPpJXJXf.net]
localtimeが時刻取得だと思ったんじゃろうね

983 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 18:51:28.19 ID:xl0leRXC.net]
>>947
timespecで取得できるのがミリ秒だけだと思ってました
自分のプログラムでtime_tで取得できる関数と複合してたのが原因でした

984 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 20:18:24.41 ID:udY9aSDo.net]
あー、だめだ
localtime_rがないって言われる



985 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 20:21:17.65 ID:udY9aSDo.net]
localtime_sもないって言われる
しばらくクソ方法で保留で

986 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 20:46:05.68 ID:xH/r/VUj.net]
>>950
環境は?

987 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 23:26:58.80 ID:udY9aSDo.net]
>>952
ubuntu

988 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 00:11:00.88 ID:3xV59ngV.net]
rはあるやろ

989 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 13:08:09.69 ID:2pJSEvK3.net]
ビルドの設定いじってもらって通りました
ありがとう御座いました

990 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 11:34:53.41 ID:qJRouQ9M.net]
【質問】
switch constexpr って無いんですか?

【背景】
if constexpr(false){
}
if constexpr(false){
}
if constexpr(true){
}
if constexpr(false){
}
という記法に疲れました。
switch(定数) で実現可能ですが、コンパイラがwarningを出すので避けたいところです。

991 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 11:40:14.61 ID:Y2OAtTnf.net]
無いけど俺も欲しい

992 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 11:44:52.12 ID:qJRouQ9M.net]
>>957
早速の回答ありがとうございます。
否定的な解決で残念ですが、前向きに生きていきます!

993 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 13:40:31.67 ID:nPptgbtB.net]
クロスプラットフォーム対応のキーボードイベント入力・マウスイベント入力があるライブラリで、規模がそこまで大きくないものって何かありますか?

994 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 14:54:00.91 ID:Q/NZ1 ]
[ここ壊れてます]



995 名前:iFj.net mailto: ncurses []
[ここ壊れてます]

996 名前:デフォルトの名無しさん mailto:sage [2022/03/21(月) 11:06:17.41 ID:Prmlj1K5.net]
>>960
情報ありがとうございます
ncursesだとWindowsで動かしにくいみたいなんでフォークのpdcursesでやってみます

997 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 22:10:06.23 ID:U9Dry82x.net]
>>908
ググって出てこないようなことをおまえら答えれるのか?

998 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:30:57.78 ID:po6dvxnc.net]
日本語で記述された問題や目的から有用なページを紹介するのはグーグル先生は苦手なんだよ。
核心的なキーワード抜きだと特に。

999 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:42:52.67 ID:as/ML4Ec.net]
>>962

軽く調べた結果:

https://el.mml.tuis.ac.jp/moodle/mod/page/view.php?id=913

www.cc.kyoto-su.ac.jp/~hxm/cstext/prog06.html

https://programming.pc-note.net/c/header.html


どこだったか忘れたけど俺は検索して学んだ記憶がある
記憶違いかもしれないけど

1000 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 22:17:14.91 ID:JBheGd8b.net]
スマホが普及しきった2015年くらいからGoogle検索の難易度一気に上がったな
昔はガバガバキーワードでもGoogle先生が忖度してくれていた

1001 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 08:00:47.76 ID:NklUKb3w.net]
忖度の意味知らなそう

1002 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 10:53:25.40 ID:2Q6y3di6.net]
Google ADの顧客は優遇致します

1003 名前:デフォルトの名無しさん [2022/03/30(水) 12:23:34.00 ID:eoFMqmT7.net]
広告出してくれるインチキ医療サイトや適当プログラミングスクール優遇しまーす!!

無能

1004 名前:デフォルトの名無しさん [2022/03/31(木) 16:42:12.47 ID:Pfu/lGwO.net]
初心者歓迎ということで、ちょっと聞いてみたいのですが、c++の世界ではboostというライブラリは有名なのでしょうか?
c++で勤怠管理できるwebシステムを作るんだといってコンストラクタがなんだかわからないまま
boostを読んでヘッダファイルをいくつか読んだあたりで英語読めなくて投げ出したことがあります。



1005 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 16:48:44.96 ID:R4GrqV7T.net]
>>969
有名だけど、使わんほうがいいよ
標準で十分だよ

1006 名前:デフォルトの名無しさん [2022/03/31(木) 17:01:55.62 ID:Pfu/lGwO.net]
>>970
ありがとうございます!!
それに、あなた有識者の方ですね?
もしよければ少しだけ詳しく評判を教えていただければ幸いです。

1007 名前:はちみつ餃子 mailto:sage [2022/03/31(木) 17:23:59.00 ID:Dq8nC8PK.net]
>>969
かなり有名で活発。
最初から標準化委員会の人がかかわってるし、 Boost が出自の機能が標準入りしたこともある。
ただ、実験的な要素も多分にある。
急に仕様がかわることもある。

適切な場面では適切だし適切でない場面では適切でないというごく普通の話なんで、
評判がどうこうというより何をしたくて Boost に関心を持ってるのか説明したほうがいいよ。

1008 名前:デフォルトの名無しさん [2022/03/31(木) 17:31:25.58 ID:Pfu/lGwO.net]
>>972
ありがとうございます。
boostは今はそんなに興味は持っていないんですが、今ちょうどMIMEタイプらへんのところを読んでいて、
そういえばboostにMIMEタイプって書いてあったなぁ、boostって業界だとどんな感じなんだろ?という感じです。
何となくなのですが、仕様が良く変わるから使いにくいと言う感じなのかな?と理解しました。

1009 名前:はちみつ餃子 mailto:sage [2022/03/31(木) 17:51:26.52 ID:Dq8nC8PK.net]
>>973
標準ライブラリほどには互換性は意識されないってだけで、
特に実験的な部分を除いては頻繁に変わるというほどでもないけど。
アップストリームでの変更の影響を避けるために
必要な部分だけ抜き出して自分のプロジェクトツリーに入れておくという運用もよくあるし。
(そのためのツールも用意されている。)
https://www.boost.org/doc/libs/1_78_0/tools/bcp/doc/html/index.html

1010 名前:デフォルトの名無しさん [2022/03/31(木) 18:00:17.34 ID:Pfu/lGwO.net]
>>974
更に詳しく有難うございます。確かに抜き出しちゃえば変わらないですもんね。
他でも応用できそう。

1011 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 18:34:15.90 ID:YOGNRVrk.net]
boost自体は使う必要はないけど、boostのドキュメントを読めないやつも不要だよな

ドキュメントもしっかりしてるから、使うだけなら簡単に使えるし

1012 名前:デフォルトの名無しさん [2022/03/31(木) 19:04:21.70 ID:Pfu/lGwO.net]
>>976
ありがとうございます。
boostくらい軽く読めないならエンジニアになるなと言うことですね。
初めて3か月くらいなもんでポートフォリオの一つもないですけれど、
本当に読んでおきますね。

1013 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 19:25:23.71 ID:R4GrqV7T.net]
これから年単位でトレーニングが続くのに初心者がいちいちポートフォリョーポートフォリョー言うのは大変めんどくせえ感

1014 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 23:41:57.85 ID:Sxv2nhUu.net]
boost有用性は分かっていてもコンパイル時間やらなんやらで本チャンに適用しにくいんだよなぁ



1015 名前:デフォルトの名無しさん mailto:sage [2022/04/01(金) 01:53:53.30 ID:46G1puQR.net]
boostなんてtemplateで悪ふざけしてるだけだから
普通のアプリには使えない

1016 名前:デフォルトの名無しさん [2022/04/09(土) 01:43:32.41 ID:fJGplIUn.net]
VC++である動画を再生するのにコーデックのDLLが必要なのですが
予めレジストリにDLL情報を登録して、実行ファイルと同じディレクトリにDLLを置けば動きます。
でも他の環境でレジストリに登録するのが大変なので(権限がらみで面倒)、登録なしでどうにか動かす事が出来ないでしょうか?
DLLを参照とかしても無理でしょうか?

1017 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:41:01.85 ID:nJhutFId.net]
レジストリで何を登録してるんだろう?
関数をexportするだけのsusieプラグイン
なんかはレジストリ登録不要で利用できるけど

1018 名前:デフォルトの名無しさん [2022/04/09(土) 13:44:11.76 ID:unOoTfDz.net]
COMだろ
仕様が公開されてればLoadLibrary()して使えるんじゃね?

1019 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:04:17.62 ID:ehpYMGIZ.net]
DirectShowやMediaFoundationのcodecなら自分で呼ぶわけにもいかんだろうな

1020 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:06:35.88 ID:fJGplIUn.net]
みなさんレスありがとう。
>>984
たぶんこれなんですよね… やっぱ無理ですかね。

1021 名前:985 [2022/04/09(土) 18:31:18.53 ID:fJGplIUn.net]
今見たら、Video For Windowsの機能を利用してるみたいでした。
こんな古いのを使ってるから専用のコーデックを使わないといけないのか。
コーデックはH.264用のDLLみたいですね。どうにかならないかな。
HKEY_LOCAL_MACHINEにプログラムから簡単に登録出来ればいいんだけど。
なんか良い案はないでしょうか。

1022 名前:蟻人間 mailto:sage [2022/04/09(土) 19:04:00.95 ID:3yKii3E5.net]
権限が必要ならプログラムのマニフェストで権限を要求。
自動化が必要なら、必要なコマンドラインを調べてバッチプログラム化する。

1023 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 19:39:38.43 ID:fJGplIUn.net]
>>987
ありがとうございます。調べてやってみます。

1024 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 19:45:37.96 ID:s5Ocn4sk.net]
一般的な動画再生ソフトでもコーデックをインストールしないと見れないのがあるが
一方、コーデック内臓もあるので技術的にはインストール不要だとおもうが
やり方はしらん、どっちも



1025 名前:985 mailto:sage [2022/04/10(日) 14:43:33.45 ID:pRTmUSXM.net]
とりあえずはマニフェストの設定変更で、起動した時に権限要求するようにしました。
調べて更に良い方法あればまた変更するつもりです。みなさんレスありがとうございました。

1026 名前:デフォルトの名無しさん [2022/04/14(木) 15:42:21.39 ID:VkbtJkFZ.net]
SIMDの勉強中で、下のようなことをしたいのですが、コンストラクタでエラーになります。
プリミティブ型をアライメント指定してnew,deleteするにはどうすればいいですか?
class MyClass {
public:
MyClass() : member(new (std::align_val_t{32}) int[1000]) {}
~MyClass() { delete[] member; }
int* member;
};

1027 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 16:34:45 ID:4tVKG4Xu.net]
コンパイラの吐き出すエラーは見た?
std::align_val_t を使えるのは C++17以降みたいだけど
そこらへんは大丈夫?

(※ ideone は C++14までやよね?)

1028 名前:991 [2022/04/14(木) 16:56:57.03 ID:VkbtJkFZ.net]
>>992
C++20です。
visual studio 2022でエラーC2956が出ます。
エラーのリンク先には構造体をnewしたい場合の対処法が書かれてます。
対処法:構造体の宣言時にalignas()でアライメント指定する。
プリミティブ型を宣言することができない(?)ので、この対処法では解決できませんでした。

1029 名前:デフォルトの名無しさん [2022/04/15(金) 15:16:32 ID:KM+JgYPL.net]
うめ

1030 名前:デフォルトの名無しさん [2022/04/15(金) 15:16:44 ID:KM+JgYPL.net]
埋め

1031 名前:デフォルトの名無しさん [2022/04/15(金) 15:16:54 ID:KM+JgYPL.net]
ume

1032 名前:デフォルトの名無しさん [2022/04/15(金) 15:17:03 ID:KM+JgYPL.net]


1033 名前:デフォルトの名無しさん [2022/04/15(金) 15:17:12 ID:KM+JgYPL.net]
ウメ

1034 名前:デフォルトの名無しさん [2022/04/15(金) 15:17:37 ID:KM+JgYPL.net]
生め



1035 名前:デフォルトの名無しさん [2022/04/15(金) 15:17:46 ID:KM+JgYPL.net]
産め

1036 名前:1001 [Over 1000 Thread .net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 641日 1時間 25分 58秒






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<311KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef