前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
VB.NET質問スレ(Part43)
https://mevius.5ch.net/test/read.cgi/tech/1465958469/
VB.NET質問スレ(Part44)
■ このスレッドは過去ログ倉庫に格納されています
1.(もんじゃ)
2018/05/26(土) 18:08:49.12ID:QSlAAqmb764デフォルトの名無しさん
2023/03/24(金) 23:13:17.73ID:ERXieoFI 詳細は不明だとして、認識の仕方だけあってるか聞いてもらえますか。
Declare Function abc_open Lib "abc.dll" (ByRef lnga As Integer, ByVal
lngb As Integer) As Integer
→ 解釈:abc.dll内にあるabc_openという関数にInga、Ingbという引数を代入してint型で戻ってくる
質問1.かっこ内で2つの変数が宣言されているがどういうこと?
質問2:戻り値はどこに格納される?
abc.dllの仕様が分からないと上記の質問も分からない?
トンチンカンな事言ってると思いますが。。
Declare Function abc_open Lib "abc.dll" (ByRef lnga As Integer, ByVal
lngb As Integer) As Integer
→ 解釈:abc.dll内にあるabc_openという関数にInga、Ingbという引数を代入してint型で戻ってくる
質問1.かっこ内で2つの変数が宣言されているがどういうこと?
質問2:戻り値はどこに格納される?
abc.dllの仕様が分からないと上記の質問も分からない?
トンチンカンな事言ってると思いますが。。
765デフォルトの名無しさん
2023/03/25(土) 00:30:39.77ID:LzvHgNP+ 普通にfunction作るときに
Function FooBar (ByRef hoge As Integer, ByVal huga As Integer) As Integer
'''(なにかの処理)
End Function
って定義するのと同様に、dllの中にある abc_openという関数をプロジェクトで使えるように宣言している
既存のコードを読んでいるのなら、そのabc_openでコード全体を検索すれば実際に使用しているところが見つかるんじゃね?
Function FooBar (ByRef hoge As Integer, ByVal huga As Integer) As Integer
'''(なにかの処理)
End Function
って定義するのと同様に、dllの中にある abc_openという関数をプロジェクトで使えるように宣言している
既存のコードを読んでいるのなら、そのabc_openでコード全体を検索すれば実際に使用しているところが見つかるんじゃね?
766デフォルトの名無しさん
2023/03/25(土) 05:48:46.84ID:F9vkZ/PE767デフォルトの名無しさん
2023/03/25(土) 15:31:44.19ID:F9vkZ/PE みなさんこんにちは
質問をばさせていただきたく
Declare Function abc_write16 Lib "abc.dll" Alias "abc_write" (ByVal lnga As Integer, ByVal lngaWrtBuffer As Integer, ByVal lngc As Integer) As Integer
上記のAliasは"abc.dll"を"abc_write"という名称で扱う
という認識でよろしいですかね?
質問をばさせていただきたく
Declare Function abc_write16 Lib "abc.dll" Alias "abc_write" (ByVal lnga As Integer, ByVal lngaWrtBuffer As Integer, ByVal lngc As Integer) As Integer
上記のAliasは"abc.dll"を"abc_write"という名称で扱う
という認識でよろしいですかね?
768デフォルトの名無しさん
2023/03/26(日) 10:00:46.68ID:t5F8xIRn aliasで指定するのはdllじゃなくて関数の元の名前
Alias 句 (Visual Basic)
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/alias-clause
VB 基礎編 (その九)
http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/vb_k09.htm
Alias 句 (Visual Basic)
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/alias-clause
VB 基礎編 (その九)
http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/vb_k09.htm
769デフォルトの名無しさん
2023/03/26(日) 22:34:02.95ID:KCoWgyug770デフォルトの名無しさん
2023/04/30(日) 01:44:08.54ID:oNkXc/Ek すみません教えてください。詳しく教えてほしいので詳しく書きます。
(歴JavaScript→PHP→VBA→VB.net/自分で作って、仕事で使って、困らない程度のスキル)
(使用PC,8世代i7,8700T,64gb)
1- エクセルVBAの64bit環境かなにかでは、 integerもlongも同じ64bitのメモリを確保しているとかで、
だからlong推奨とかWEB上の初心者向けサイトには書いてあった記憶があります
(記憶違いならごめんなさい)
でも、これって(CPU内などの)所謂キャッシュメモリ上も同じ理屈なのでしょうか。
例えば100万程度の配列を回して処理するときに、どうなのでしょうか?
2- それらをの答えを踏まえ、VB.netでも同じ理屈で同じ答えなのでしょうか?
作成中のプリログラムの処理が遅い場合にサイズを厳密にすることを奥の手にする感じに考えていますが、それが奥の手なのか無意味なのかわかりません。
現在、VB歴6か月程度ですが、次期プログラムから環境をC#に移行しようと思っています。
周りに聞く人もおらず、WEB頼りでやってきましたが、変な癖が付くとまずいので、不安に思っています。
最新の情報が多いのもC#に移行する理由でもあります。
PHPから入ったので、型に関係にする部分は不安です
今から最小の型を使う癖をつけておいた方がいいのでしょうか(Int16,Int32,Int64等)
(もちろんsqlserverは最小のサイズでやっていますが)
処理するデータ量は多いです。VBAで処理に小1時間かかるのでVB.netに移行しましたが、データはまだまだ増えそうです。
C#に移行することを踏まえて教えていただけると幸いです。よろしくお願いします。
(歴JavaScript→PHP→VBA→VB.net/自分で作って、仕事で使って、困らない程度のスキル)
(使用PC,8世代i7,8700T,64gb)
1- エクセルVBAの64bit環境かなにかでは、 integerもlongも同じ64bitのメモリを確保しているとかで、
だからlong推奨とかWEB上の初心者向けサイトには書いてあった記憶があります
(記憶違いならごめんなさい)
でも、これって(CPU内などの)所謂キャッシュメモリ上も同じ理屈なのでしょうか。
例えば100万程度の配列を回して処理するときに、どうなのでしょうか?
2- それらをの答えを踏まえ、VB.netでも同じ理屈で同じ答えなのでしょうか?
作成中のプリログラムの処理が遅い場合にサイズを厳密にすることを奥の手にする感じに考えていますが、それが奥の手なのか無意味なのかわかりません。
現在、VB歴6か月程度ですが、次期プログラムから環境をC#に移行しようと思っています。
周りに聞く人もおらず、WEB頼りでやってきましたが、変な癖が付くとまずいので、不安に思っています。
最新の情報が多いのもC#に移行する理由でもあります。
PHPから入ったので、型に関係にする部分は不安です
今から最小の型を使う癖をつけておいた方がいいのでしょうか(Int16,Int32,Int64等)
(もちろんsqlserverは最小のサイズでやっていますが)
処理するデータ量は多いです。VBAで処理に小1時間かかるのでVB.netに移行しましたが、データはまだまだ増えそうです。
C#に移行することを踏まえて教えていただけると幸いです。よろしくお願いします。
771デフォルトの名無しさん
2023/04/30(日) 03:01:38.76ID:faZy+FP7772デフォルトの名無しさん
2023/04/30(日) 04:38:17.68ID:xlDTnGib ワロタ
773デフォルトの名無しさん
2023/05/01(月) 16:16:30.20ID:nutSXmqo 奥の手でもなんでもなくて適切な型をつかうのは基本中の基本だと思うがな
ちゃんとDB使って処理して1時間なら言語なにつかっても大差ないと思われ
ちゃんとDB使って処理して1時間なら言語なにつかっても大差ないと思われ
774デフォルトの名無しさん
2023/05/10(水) 02:41:26.03ID:VdVKPMIs 何の処理が原因で遅くなっているか切り分けたら?
Stopwatchクラス使えはいいよ。
Stopwatchクラス使えはいいよ。
775デフォルトの名無しさん
2023/08/20(日) 21:08:30.63ID:5xty0CqD explain使ってSQLのチューニングしたらいいんじゃないかな
100万件程度なら一瞬で終わる
キャッシュ云々の前にアプローチが間違ってる気がする
PHPとC#、VB.netなら処理速度変わらん
もしSQLの発行回数が2回以上になってるんだったら1回にすればいい
ループごとにSQLを実行するような処理だったら論外
VB.netならフリーのプロファイラが十分使えるからツールでどの箇所が時間かかってるかはすぐわかる
というかその書き方だとすでに原因となる箇所はだいたいわかってるんじゃないだろうか
とにかくループを減らす
VBAで1時間ならVB.netは1秒未満を目指せると思う
型とかアルゴリズム以前にもっと根本的な問題があると思う
そしてどういう問題を処理しようとしているか書かないと一般論しか帰ってこない気がする
速度カイゼンはとにかくループの削減が基本
全探索をなくすのが基本
ソートをなくすのが基本
100万件程度なら一瞬で終わる
キャッシュ云々の前にアプローチが間違ってる気がする
PHPとC#、VB.netなら処理速度変わらん
もしSQLの発行回数が2回以上になってるんだったら1回にすればいい
ループごとにSQLを実行するような処理だったら論外
VB.netならフリーのプロファイラが十分使えるからツールでどの箇所が時間かかってるかはすぐわかる
というかその書き方だとすでに原因となる箇所はだいたいわかってるんじゃないだろうか
とにかくループを減らす
VBAで1時間ならVB.netは1秒未満を目指せると思う
型とかアルゴリズム以前にもっと根本的な問題があると思う
そしてどういう問題を処理しようとしているか書かないと一般論しか帰ってこない気がする
速度カイゼンはとにかくループの削減が基本
全探索をなくすのが基本
ソートをなくすのが基本
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】日本産牛肉の対中国輸出再開協議が中止 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★3 [ぐれ★]
- 中国政府、日本人のビザ免除停止、鬼滅の刃公開停止を検討へ [271912485]
- 【実況】博衣こよりのえちえち雑談🧪★2
- 高市早苗って戦後最悪の総理大臣なのでは🤔? [929293504]
- 【実況】博衣こよりのえちえち雑談🧪
- 【悲報】自民党「聞いてないよー」 [616817505]
- 【高市速報】トヨタ社長、MAGA帽子をかぶって登場し世界を震撼させる [462275543]
