[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: デフォルトの名無しさん (ワッチョイ 7633-kUv4) [] 2021/12/20(月) 11:03:25.88 ID:sdn/+VfW0(1/3) AAS
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
2chスレ:tech
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
903: .NET MAUI HighSchool (ワッチョイ df01-1zqz) [] 2022/12/16(金) 16:23:50.13 ID:3qj0lL1U0(1) AAS
たけのこなんとかってYou Tubeチャンネル再生数少ないけどかなりためになるよな
https://youtube.com/@user-el9do7sq8l
904(1): デフォルトの名無しさん (アウアウクー MMf3-hy4/) [sage] 2022/12/18(日) 02:41:11.08 ID:bGOfc0DhM(1) AAS
アマゾン見たらmaui本が1月14日発売だけど、年末出版には間に合わんかったんか?年明けは勉強時間取れる人少ないと思うが。
905: デフォルトの名無しさん (ワッチョイ 1f02-O3WS) [sage] 2022/12/18(日) 04:18:00.82 ID:v5fQ3NDq0(1) AAS
学生の春休みや新学期には合うだろ
906: .NET MAUI HighSchool (ワッチョイ 6a01-IBS7) [] 2022/12/18(日) 07:57:38.13 ID:kMWioX0P0(1) AAS
>>904
別によくね?
増田さんにはお世話になってる
https://booklog.jp/author/%E5%A2%97%E7%94%B0%E6%99%BA%E6%98%8E?page=1
C#やVBなどの.NET系以外にもRustとかも書いておられる
907: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 09:09:30.57 ID:ses1WoSTM(1/8) AAS
mauiに興味を持てるのはごく一部の異端者だけだからどちらでもいいだろ
908: デフォルトの名無しさん (ワッチョイ a301-laf+) [] 2022/12/18(日) 11:48:14.16 ID:HNplfub60(1/2) AAS
WinFormsにだけ注力してりゃいいのにバカなMicrosoft
909: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 11:56:08.49 ID:ses1WoSTM(2/8) AAS
それはないけど同じところをずっと行ったり来たりしてるね
10年ぐらい停滞しっぱなし
net frameworkを.net coreに書き直し
winforms WPFを.net core用に書き直し
対応するためにVSを書き直し
reunionしてUWPのAPIを使うために書き直し
xamarinをMAUIにして書き直し
今後monoも置き換えするんだろうけど結局停滞してるだけでとてつもない開発リソースを浪費してる
910: デフォルトの名無しさん (ワッチョイ 535f-f2OJ) [sage] 2022/12/18(日) 12:21:58.82 ID:unD+40ms0(1) AAS
停滞してるか?
めちゃくちゃ便利になってるんだが…。
911: デフォルトの名無しさん (アウアウウー Sa9f-840Q) [sage] 2022/12/18(日) 12:46:03.27 ID:lQqYZof8a(1) AAS
停滞してるのはエコシステムではなく勉強してない自分達だったというオチはこの業界ではよくある話
身近なC#ディスりおじさんに詳しく話を聞いたらC# 1.0〜2.0ぐらいの知識で止まってたなんてことがよくあった
まあこれに関してはJava 7の印象でいまだにJavaが大嫌いな自分にも当てはまるんであまり言えんけど
912: デフォルトの名無しさん (ワッチョイ 1f02-JDfe) [sage] 2022/12/18(日) 13:03:09.27 ID:LK87z1ML0(1) AAS
便利になったのはWPFまでだな
それ以降のUIが迷走を続けている
MAUIはあの完成度でよくリリースする気になったもんだと思うわ
913: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 13:22:30.39 ID:ses1WoSTM(3/8) AAS
迷走だよ
GPSやセンサー類のAPIはUWPにだけ実装とか迷走だろ
それを今統合も出来ずに上位にWinUI3のガワだけかぶせてる
実質WinUI3はWPFの部分をwin32とか使ってc++で置き直してUWPを中に含めてるだけ
914: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 13:25:35.75 ID:ses1WoSTM(4/8) AAS
非GUI部分のAPIをUWPやwinformsやWPFから切り離せていなかったのが一番の問題
915: デフォルトの名無しさん (ワッチョイ 535f-8Cre) [] 2022/12/18(日) 19:27:49.14 ID:Wdso+RO70(1/2) AAS
そしてその問題をWindows App SDKで解決したと
916: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 19:29:23.75 ID:ses1WoSTM(5/8) AAS
いや現状変わっていない
917: デフォルトの名無しさん (ワッチョイ 535f-8Cre) [] 2022/12/18(日) 21:10:41.96 ID:Wdso+RO70(2/2) AAS
Why?
918: デフォルトの名無しさん (ワッチョイ f3b1-3QHA) [sage] 2022/12/18(日) 21:34:00.76 ID:cciNjKw00(1/2) AAS
var rst = src.Select(c =>
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
);
とある文字列に対してSelectで条件分岐の操作ってできるんでしょうか?
このような操作はエラー出てしまいます。
for文使う意外でLinqで可能ですか?
919: デフォルトの名無しさん (ワッチョイ f3b1-3QHA) [sage] 2022/12/18(日) 21:35:09.61 ID:cciNjKw00(2/2) AAS
var rst = src.Select(c => {
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
});
920(1): デフォルトの名無しさん (ワッチョイ f376-dmHX) [] 2022/12/18(日) 21:43:50.09 ID:/B6+jV4p0(1) AAS
Selectは、 TResult Func(TSource c); 相当の関数を求めてる。
1文で書けないラムダは{}で囲ってreturnする必要がある。
var rst = src.Select(c => {
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
});
条件がそこそこ複雑になるから関数化した方が読みやすくなるけどね
static char func(char c){
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
}
var rst = src.Select(func);
921: デフォルトの名無しさん (ワッチョイ a301-laf+) [] 2022/12/18(日) 23:07:10.29 ID:HNplfub60(2/2) AAS
普通にif文書きゃええやん
922: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 23:17:05.27 ID:ses1WoSTM(6/8) AAS
お前ら大丈夫か?
落ち着け
とある文字列と書いてあるのを意図的に無視してんのか?
923: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 23:35:46.66 ID:ses1WoSTM(7/8) AAS
追加情報
三項演算子を二回使うと二回分の変換を式で表せる
c++なんかでは多用されるテクニック
実際に使うとなると
string.Replace
924: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/18(日) 23:58:06.12 ID:ses1WoSTM(8/8) AAS
ごめんごめん
すげーまちがえてんな
3項演算子二重で使って3つの値を出せる式になる
それと古のテクニックを使う方法もあるけどもう寝る時間だな…
925: デフォルトの名無しさん (アウアウウー Sa9f-6ae9) [sage] 2022/12/19(月) 10:29:01.95 ID:l2DO4th2a(1/3) AAS
お前こそ落ち着けよ...
とある文字列 = src
だろ
926: 649◆xETmWn3d3U (ワッチョイ f3b1-oovO) [sage] 2022/12/19(月) 16:18:50.34 ID:Q+XXk/bX0(1/2) AAS
>>918-924
こんな感じかな?知らんけど
string src = "beef steak";
var rst = src.Select(c => c == 'a' ? '1' : (c == 'b' ? '2' : c));
927: デフォルトの名無しさん (ワッチョイ 6a2f-8Cre) [sage] 2022/12/19(月) 18:16:46.96 ID:wIMiDvp90(1) AAS
つか正規表現で良い気がする
928: 649◆xETmWn3d3U (ワッチョイ f3b1-oovO) [sage] 2022/12/19(月) 18:49:15.49 ID:Q+XXk/bX0(2/2) AAS
string rst = src;
rst = rst.Replace('a', '1').Replace('b', '2');
でもええんちゃう?知らんけど
929: デフォルトの名無しさん (ワッチョイ beb9-E2zE) [sage] 2022/12/19(月) 19:34:29.68 ID:346Jf6ym0(1) AAS
今風に書くなら
var rst = src.Select(c => c switch {
'a' => '1',
'b' => '2',
_ => c,
});
としておきたいかな
930: デフォルトの名無しさん (アウアウウー Sa9f-6ae9) [sage] 2022/12/19(月) 19:36:05.97 ID:l2DO4th2a(2/3) AAS
多重に三項演算子使うぐらいならswitch式の方がマシじゃね?
var rst = src.Select(c => c switch{ 'a' => '1', 'b' => '2', _ => c });
931: デフォルトの名無しさん (アウアウウー Sa9f-6ae9) [sage] 2022/12/19(月) 19:36:58.87 ID:l2DO4th2a(3/3) AAS
あっ、被った...
932: デフォルトの名無しさん (アウアウウー Sa9f-3QHA) [sage] 2022/12/19(月) 19:45:13.87 ID:3uxWIf14a(1/2) AAS
皆様分かりにくい質問だったのにありがとうございます😭
933: デフォルトの名無しさん (アウアウウー Sa9f-3QHA) [sage] 2022/12/19(月) 19:47:06.21 ID:3uxWIf14a(2/2) AAS
もちろんReplaceでいいんですけどSelectの理解のために知りたかったです
>>920分かりやすかったです。
934: デフォルトの名無しさん (ワッチョイ 9749-QolP) [sage] 2022/12/20(火) 09:21:42.04 ID:VUWojem40(1) AAS
いえいえ
935: デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/20(火) 11:21:03.37 ID:Z1Fhbyfda(1) AAS
文と式の区別ついてないしelseだけ変なブロックついてるけどなw
936: デフォルトの名無しさん (ブーイモ MM17-LnhB) [] 2022/12/20(火) 12:14:46.46 ID:l/hyvVydM(1) AAS
一度に置換する関数ってなかったっけ?
937(1): デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/20(火) 13:50:21.06 ID:409NV00Ga(1/4) AAS
正規表現とDictionaryで一度に置換できる
938(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 15:26:00.51 ID:pH7eiimed(1/9) AAS
MSストアアプリをリリースしてみたいけど難読化できるか気になっている。
中間言語(IL)のコードだと簡単にリバースエンジニアリングされてしまいそうで不安。
ストアアプリは中間言語ではないファイルにストア側で変換されますか?
自分で書くコードはC#です。
あと.NET7だとネイティブでビルドできるらしいけど.NET7で開発すると、
ローカルもストアアプリもネイティブコードで生成されるんでしょうか?
939(1): デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/20(火) 15:40:03.50 ID:409NV00Ga(2/4) AAS
機械語ならできないと思ってるのか
940(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 15:44:37.17 ID:pH7eiimed(2/9) AAS
>>939
難易度がけた違いでしょう?
機械語からリーバスエンジニアリングできるような人なら
ゼロから自分で書いたほうが速いはず。
ILだとC#初心者でもロジック理解できちゃうしパクリアプリも作られてしまう。
941: デフォルトの名無しさん (ワッチョイ db2d-z22/) [sage] 2022/12/20(火) 15:54:23.99 ID:GGhGhggz0(1/2) AAS
どうせ完璧な対策は無理だし、ConfuserEXで強めに難読化しておくのじゃ駄目かな
942(2): デフォルトの名無しさん (ワッチョイ aa7c-e5AJ) [sage] 2022/12/20(火) 15:59:10.71 ID:cyGUI4Ab0(1/2) AAS
C#のバイナリは中身もMSILだし難読化してもある程度ソースは分かる
ILSpy等で難読化した後のファイルを見てみれば分かるよ
943(1): デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/20(火) 16:05:38.86 ID:k+1oqZ2P0(1/4) AAS
>>937
どうやってやるの?
944: デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/20(火) 16:15:34.10 ID:409NV00Ga(3/4) AAS
>>940
難易度ならそこまで変わらん
945(1): デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/20(火) 16:17:27.75 ID:409NV00Ga(4/4) AAS
>>943
Regex.Replaceのオーバーロードにラムダ式を取るやつがあるから引数をキーにしてDictionaryから置換先を取り出せばいい
946: デフォルトの名無しさん (ワッチョイ 0f33-oCck) [sage] 2022/12/20(火) 16:42:37.80 ID:e6Ld54kx0(1) AAS
>>938
今のところネイティブコード作れるのはコンソールだけってのをどっかで見た記憶がある
違ってたらごめん
947: デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/20(火) 16:57:50.13 ID:k+1oqZ2P0(2/4) AAS
>>945
なるほど、サンクス
948(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 17:06:16.44 ID:pH7eiimed(3/9) AAS
>>942
ストアアプリも読める?読めたらまずくない?
949: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 17:17:31.72 ID:pH7eiimed(4/9) AAS
半分自己解決。UWPはnative codeになるようだ
非UWPはまだわからん。
.NET nativeのおかげだな。.NET7では全アプリ対応になってるのかも
https://microsoft.github.io/react-native-windows/docs/native-code
UWP apps written in C# or other managed languages submitted to the store must be built using the .NET Native toolchain. This is the default when building C# apps in Release mode, but not in Debug, so apps built in Debug will be rejected by the Store.
950: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 17:21:11.68 ID:pH7eiimed(5/9) AAS
native codeじゃないと商用アプリリリースする気にならないわ
認証まわりとかコード見られたくない
.NET7でもしWPFとかもnative codeふつうにはけるのなら
c#人気復活する気がする
951: デフォルトの名無しさん (ワッチョイ 8be5-974H) [sage] 2022/12/20(火) 17:32:16.50 ID:yIApGVlC0(1) AAS
盗んだコードで売りに出す♪
952(1): デフォルトの名無しさん (ワッチョイ aa7c-e5AJ) [sage] 2022/12/20(火) 17:33:48.40 ID:cyGUI4Ab0(2/2) AAS
>>948
visual studioで空のUWPプロジェクト作って
releaseで.NETネイティブツールチェインをオンにして生成されたApp1.exeをILSpyで見ても
普通に中身見れるなw
953: デフォルトの名無しさん (ワッチョイ db2d-z22/) [sage] 2022/12/20(火) 17:33:58.25 ID:GGhGhggz0(2/2) AAS
>>942
難読化を強い設定にしたらILSpyでファイルを開いただけじゃソースコードは読めないよ
954: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 17:37:55.97 ID:pH7eiimed(6/9) AAS
>>952
MSのストア側でnativeになるとかじゃない?
955(2): たすけて!!!!!1!!11!!1!!!1!!111 (ガックシ 0676-ZR1D) [] 2022/12/20(火) 19:28:27.61 ID:nMZXsv/b6(1) AAS
C言語でボードゲームを作成する課題についてです。重力付き4目並べを最終的にコンピュータと対戦可能にするように、テンプレートのコードに穴埋めしていく課題です。
?横7x縦6の盤面を立てて使用?2人で対戦、以下の0~6のマスを交互に選択?縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
956: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 19:43:57.01 ID:pH7eiimed(7/9) AAS
>>955
名前とはうらはらにC#とCはぜんぜん違う
ここで聞くべきではない
957: デフォルトの名無しさん (ワッチョイ 6aad-HqPk) [sage] 2022/12/20(火) 19:53:21.19 ID:3kdd/MdI0(1) AAS
課題についてですが
958(1): デフォルトの名無しさん (ワッチョイ 535f-f2OJ) [sage] 2022/12/20(火) 19:56:57.69 ID:oMNiRABq0(1/2) AAS
パクられるほどのアプリなんだろうか。
今日日、割られるとしたらパッチが広まるのも一瞬なんだから、それよりもちゃんと利用規約書いた方が良いんじゃないの?
はるかに金払うと思うよ。特に企業内ユーザは。
959(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 20:36:05.36 ID:pH7eiimed(8/9) AAS
>>958
流行ってきてもすぐにコピーアプリつくられたら
収益激減しちゃうでしょ
利用規約なんて書いても少し変えてコピーアプリつくられたらおしまいだよ
実害がはっきりでる
例えば300円のアプリ、コピーされて100円で売られたらこっちは大損だよ
960(1): デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/20(火) 20:36:09.48 ID:k+1oqZ2P0(3/4) AAS
困るほど割られるならサーバー用意して認証するかな、俺なら
まあそんなアプリを公開できるとも思わんから取らぬたぬきなんだけどw
961(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/20(火) 20:38:13.57 ID:pH7eiimed(9/9) AAS
>>960
native codeじゃないとかんたんに
サーバーの認証のコードが漏れちゃうでしょ
セキュリティ大事
でもNET7でようやくC#でnative codeをMSが許可したのは大きいね
962: デフォルトの名無しさん (スップ Sd8a-ytDT) [sage] 2022/12/20(火) 20:43:25.99 ID:paaoChG1d(1) AAS
クライアントにAPIキーをハードコードしてるのか?ユーザー認証を実装しろよ
そんな初歩的な設計ミスしといてセキュリティもクソも
963: デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/20(火) 21:05:09.19 ID:k+1oqZ2P0(4/4) AAS
>>961
もしかして認証ってクライアントからサーバーにログインするような奴しか知らんのか?
964: デフォルトの名無しさん (スッップ Sd8a-g3+u) [] 2022/12/20(火) 21:41:02.29 ID:y3Va6Z2Ud(1) AAS
>>955
馬鹿は死ね
965: デフォルトの名無しさん (ワッチョイ 535f-f2OJ) [sage] 2022/12/20(火) 21:55:47.97 ID:oMNiRABq0(2/2) AAS
>>959
実際Windows以外ではアプリ作っててそこそこダウンロードされてるけど、コピーアプリが追いついたこと無いぞ。
単純に品質と知名度でしょ。
966(1): デフォルトの名無しさん (ワッチョイ 535f-8Cre) [] 2022/12/21(水) 02:19:07.37 ID:XJm7JjIp0(1) AAS
.NET 7のNative AOTは今のところコンソールアプリとクラスライブラリで使えるらしい
今後範囲を広げていく計画だったと思うが
現状でWindowsアプリでも重要な部分だけクラスライブラリにすれば上で求められてることはできそうだな
967(1): デフォルトの名無しさん (スッププ Sd8a-ytDT) [sage] 2022/12/21(水) 08:11:43.60 ID:WvXmOK62d(1) AAS
>>966
それはちょっと誤解がある
NativeAOTはコンソールアプリとして発行されるアプリケーション、もしくは(.NETのクラスライブラリではなく)ネイティブの共有ライブラリを作るときだけ使える
つまり、仮にWindowsアプリで部分的に使うならPInvokeが必要
なお、NativeAOTはASP.NET Coreアプリを動かすことをゴールとしており、GUIアプリのサポートは全く計画にない
968: デフォルトの名無しさん (ワッチョイ 1f02-JDfe) [sage] 2022/12/21(水) 08:21:41.02 ID:NS3BAQGq0(1) AAS
ネイティブのDLL作れるのはええな
わざわざその為だけにC++使う必要なくなるかな
969(1): デフォルトの名無しさん (ワッチョイ c307-bKpv) [sage] 2022/12/21(水) 10:09:22.51 ID:DxBIri9+0(1/4) AAS
ソースが見られるのを恐れてるのはパクられるのを恐れてるんじゃなくパクったのがバレるのを恐れてるんだよな
お前なんかの作った物をパクるやつなんかいねーよと言いたくなるやつしか難読化難読化言わない
970(1): デフォルトの名無しさん (ワッチョイ c307-bKpv) [sage] 2022/12/21(水) 10:17:43.01 ID:DxBIri9+0(2/4) AAS
あと.NETのリバースエンジニアリングがしやすいのは静的ライブラリじゃなくDLLを使ってるのと仮想メソッドを多用しているのも大きい
DLLで提供されるクラスを使う時や仮想メソッドを使う時は名前でアクセスせざるを得ないからどのクラスのどのメソッドを使っているかを隠すことができない
これはC++を使っても同じこと
本気で難読化したいなら標準ライブラリを使うのをやめた上でソースコードジェネレータを使ってソースレベルでクラス名や関数名をランダマイズするところから
971(1): デフォルトの名無しさん (ワッチョイ c307-bKpv) [sage] 2022/12/21(水) 10:20:28.49 ID:DxBIri9+0(3/4) AAS
2chスレ:tech
立てたけどこれ過去スレの履歴要らんだろ
972: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/21(水) 10:50:38.22 ID:Q7xHaIEVd(1/5) AAS
>>967
ASP.NET Coreは.NET8でnative AOT対応してくるかもしれない。
Azure運営してるMSとしては欲しい機能だろうし。
GUI appsもゴールにないという事はないと思うよ
やっぱり速度とかメモリ使用とかでnative有利だし。
MAUIで作ったiOSかMacアプリはnative codeでbuildされるとか見た記憶ある。
他社がnativeで動くならGUI appも対応しないとc#開発者がC#使うのをやめてしまう。
973: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/21(水) 10:52:45.19 ID:Q7xHaIEVd(2/5) AAS
ここみると.NET7の制限というニュアンスで書いてある。
最終的にはふつうのWPFとかもnative AOT目指してるように思える。
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/
974(2): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/21(水) 10:54:27.51 ID:Q7xHaIEVd(3/5) AAS
>>969
コード見られるのを気にしない人はセキュリティに関して知識と意識が低いだけだと思う。
必要のない情報は極力見せないっていうのがセキュリティの基本だ。
975: デフォルトの名無しさん (ワッチョイ c307-bKpv) [sage] 2022/12/21(水) 10:59:36.26 ID:DxBIri9+0(4/4) AAS
>>974
何のセキュリティを気にしてんだよw
セキュリティの意味わかってないんじゃね?
976: デフォルトの名無しさん (ワッチョイ 0f2f-8Cre) [sage] 2022/12/21(水) 11:21:48.38 ID:dQUtHKIl0(1) AAS
>>974
その理論だとつまりオープンソースはセキュリティが低すぎて使い物にならないってことだな
極力見せない以前に、見せていいものと悪いものの判断ぐらいできるようになれよ
977: デフォルトの名無しさん (アウアウアー Sab6-sLkO) [sage] 2022/12/21(水) 11:38:04.02 ID:XdVZCz4Ta(1) AAS
>>971
それよりVS 2017 からバージョンさせてほしい
978: デフォルトの名無しさん (ワッチョイ 9749-QolP) [sage] 2022/12/21(水) 11:46:13.92 ID:yXejyiRX0(1) AAS
まあ認証まわりとか、ライブラリを使ってるのか自作なのかすら見せたくないのはわかる
個人のアプリじゃないと重箱の隅をつつかれることにもなるしね
979(1): デフォルトの名無しさん (テテンテンテン MMe6-w6Ef) [sage] 2022/12/21(水) 12:14:36.58 ID:UGlVD7cdM(1) AAS
カジュアルな解読対策なら既存の難読化で十分だし、ガチのクラッカー相手ならマシン語になった程度じゃ無駄だよ
980: デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/21(水) 12:52:16.33 ID:j8NGwdcp0(1/2) AAS
そもそもターゲットになるようなアプリを公開できる奴がこんなスレにいるのかと...
981: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/21(水) 14:51:10.30 ID:Q7xHaIEVd(4/5) AAS
native AOTはスピードアップの恩恵も大きい。
C++くらい速いコードになるし欲しいに決まってる
982: デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/21(水) 15:00:09.00 ID:xeZ9BjZLa(1) AAS
ならんと思うよ
C++は最適化のやり方がえげつないし安全より速度に倒してるから
983: デフォルトの名無しさん (ワッチョイ 0fa7-JDfe) [sage] 2022/12/21(水) 15:01:27.23 ID:9NcjNPce0(1) AAS
最適化に関しては言語単位ではなくコンパイラ次第だけどな
984(1): たすけて!!!!!1!!11!!1!!!1!!111 (ガックシ 0676-ZR1D) [] 2022/12/21(水) 15:04:48.89 ID:PoVpFNoO6(1/2) AAS
C言語でボードゲームを作成する課題についてです。重力付き4目並べを最終的にコンピュータと対戦可能にするように、テンプレートのコードに穴埋めしていく課題です。
?横7x縦6の盤面を立てて使用?2人で対戦、以下の0~6のマスを交互に選択?縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
985(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/21(水) 15:06:36.41 ID:Q7xHaIEVd(5/5) AAS
>>979
マシン語のリバースエンジニアリングできるやつなんて
プログラマーの1%もいないだろうし時間もかかるからほぼ回避できる。
解析する行為が割に合わなくなる
C#難読化だけとは安心度が全然違う
986(1): デフォルトの名無しさん (スッップ Sd8a-g3+u) [] 2022/12/21(水) 15:08:08.84 ID:QEiYz8egd(1) AAS
>>984
しつこい
死ねよ
987: デフォルトの名無しさん (ガックシ 0676-ZR1D) [] 2022/12/21(水) 15:46:41.58 ID:PoVpFNoO6(2/2) AAS
>>986
ごめんち
988: デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/21(水) 15:57:46.46 ID:xnCwgzYya(1/2) AAS
>>985
マシン語に夢見すぎだしCのソースコードにデコンパイルできるぞ
989(1): デフォルトの名無しさん (ワッチョイ 6a01-6ae9) [sage] 2022/12/21(水) 16:15:55.40 ID:j8NGwdcp0(2/2) AAS
まあガチで最適化されてたらまともなCコードにはならんけどね
990: デフォルトの名無しさん (アウアウウー Sa9f-bKpv) [sage] 2022/12/21(水) 16:23:28.08 ID:xnCwgzYya(2/2) AAS
>>989
少なくとも文法はCになる
991: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/21(水) 20:14:45.78 ID:RZVo2DHQM(1/3) AAS
文法はCだけど中身はマシン語と変わらないなら地獄だけどそういうものになるんだろ?
ifとgotoとreturnとラベルだらけ
992: デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/21(水) 20:17:20.13 ID:RZVo2DHQM(2/3) AAS
式は漏れなく逆ポーランド記法的になるんだろうし
993: デフォルトの名無しさん (ワッチョイ 535f-f2OJ) [sage] 2022/12/21(水) 20:23:34.31 ID:rozOpZ0F0(1/2) AAS
自分でやってみればわかるが、言うほど難しくない。
994(1): デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ) [sage] 2022/12/21(水) 20:27:18.93 ID:RZVo2DHQM(3/3) AAS
と言う妄想
995(1): デフォルトの名無しさん (ワッチョイ 3b01-ZR1D) [] 2022/12/21(水) 21:29:01.38 ID:ye8WaQKn0(1) AAS
Cとアセンブラの最も大きな違いはレジスタへのアクセスなんだよね。
996: デフォルトの名無しさん (ワッチョイ 535f-f2OJ) [sage] 2022/12/21(水) 21:48:30.78 ID:rozOpZ0F0(2/2) AAS
>>994
慣れだよ。CTFとかやったら良い。
997: デフォルトの名無しさん (アウアウウー Sa9f-GVz8) [sage] 2022/12/22(木) 02:21:30.51 ID:IYYvjjD3a(1) AAS
>>995
レジスターやスタックを気にしながらプログラムを組むのは地獄だわな
998: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/22(木) 02:36:34.84 ID:F1nh9mbrd(1/3) AAS
C++も終わりになるんじゃないの?
LinuxがRustで書くようになるとかいう噂?ニュースを見たよ
RustってOSも書けるんだな
Rustで安全で高速なコード書けたらC/C++ほぼ要らなくなるんじゃ?
999(1): デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/22(木) 02:37:22.51 ID:F1nh9mbrd(2/3) AAS
>>999
LinuxのカーネルがRustで書かれるかもっていう噂、ニュースね
1000: デフォルトの名無しさん (スッップ Sd8a-JDfe) [] 2022/12/22(木) 02:43:23.22 ID:F1nh9mbrd(3/3) AAS
次
C#, C♯, C#相談室 Part97
2chスレ:tech
1001(1): 1001 [] ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 366日 15時間 39分 58秒
1002(1): 1002 [] ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.583s*