X



C言語相談室(上級者専用)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 139f-Cjmv)
垢版 |
2018/03/02(金) 22:48:03.65ID:2Cs+DkMh0
C言語の話題のみ取り扱います。C++の話題はC++スレへ。
上級者専用です。10,000行程度のソースを扱えない人は以下スレへ。

C言語なら俺に聞け
https://mevius.5ch.net/test/read.cgi/tech/1519046038/

適宜以下を使用してください。
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0180さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
垢版 |
2019/01/03(木) 05:55:20.15ID:Lt7qYVyo0
文字の回転の件だけど、座標変換を完璧にやれ、ってダメ出しが来た。
論理座標変換、文字幅変換、文字の傾き変換、世界変形を全部完璧にしないとOKが出ないみたい。
変形はアフィン変換も含むらしい。
0181デフォルトの名無しさん (ワッチョイ 497b-EgDX)
垢版 |
2019/01/03(木) 10:12:26.72ID:NOMEwXEr0
いや意味が分からん。これのことか?
https://jira.reactos.org/browse/CORE-15319
90度を実装したら表示されるはずだが、表示されないと言うのだから、追わなければ分からんね。

或いは、
本来: https://jira.reactos.org/secure/attachment/36563/correct%20font%20rendering.png
現状: https://user-images.githubusercontent.com/2107452/50544530-bae9d080-0c3b-11e9-8028-200a4b9a8840.png
> lfWidth parameter was ignored.
> MS Sans Serif shouldn't be rotated.
IfWidthが無視されているのはテンポラリの実装ならありではあるが意味不明、
MS Sans Serifが回転している=回転にフォント依存があるのは全く意味不明、といったところか。

てかマジな話、どんな実装したらこんな事になるんだ?

俺はフォントのことは詳しくは知らないが、PostScriptと同様に2次ベジエの再帰でレンダリングしているとすると、
各ストロークの参照点を回転行列に突っ込めば回転するし、y=ax的に平行移動すればイタリックが得られる。
だからイタリックと回転は同じコード(アフィン変換)で実装出来るはずで、そこを言及した。
この場合、当然IfWidthやフォント種類と回転/イタリックは直交しているので、
○○フォントの場合は回転がおかしくなる、なんて事は発生し得ないし、IfWidthを無視するような事も逆に難しい。

ただし実際にそうなっているのなら、それはおかしなコードが紛れ込んでいるはずだ。
それを除去して、正しい場所にアフィン変換を突っ込むのが正当なやり方だと思うぜ。
つか、今のコードもアフィン変換してないのか?それで回転してるってのも凄いとは思うが。
0182デフォルトの名無しさん (ワッチョイ 997c-aDDJ)
垢版 |
2019/01/03(木) 10:51:29.12ID:GFK4C2Tk0
玄奘の方が綺麗に見える
0184さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
垢版 |
2019/01/03(木) 15:15:51.87ID:Lt7qYVyo0
MS Sans Serifは、Windowsではビットマップフォントだから、回転は無視される。ReactOSでは代替フォントとして実装されていて、ビットマップフォントではない。
だれかが、MS Sans Serifのクローンを作れば解決する問題だが、まだ未解決。
0188デフォルトの名無しさん (ワッチョイ 497b-EgDX)
垢版 |
2019/01/03(木) 18:17:11.70ID:NOMEwXEr0
>>184,185
それ(ビットマップフォントは回転しない)が仕様ならそれで構わないと思うが、問題は、
A. windowsがビットマップフォントでReactOSで非ビットマップフォントの場合、回転する
B. windowsが非ビットマップフォントでReactOSでビットマップフォントの場合、回転しない
で、おそらく
https://jira.reactos.org/browse/CORE-15319
についてはBが該当して表示されていないのだろう。(これは確認してみた方がいい)
対策としては
B1. 辞書を作って名前で対応
B2. ビットマップフォントも回転させる
のどちらかだが、B1でもどのみち「ビットマップフォントを回転させる」機構は必要だから、
最初からB2で対応するのがいい。
(この場合、
C. windowsもReactOSもビットマップフォントで、回転しない
ケースで非互換になるが、問題にはならないはず)
ここで、選択肢は、
α: ビットマップフォントでも常に回転する
β: 90/180/270°の時のみビットマップフォントでも回転する
の2つで、βでも実質問題はないはず。

>>187
lfWidthもFT_Set_Transformで対応出来そうだし、問題無いように見えるが。
少なくとも現状の回転がそれで機能しているのだから、APIは正しく機能しているし。
0189さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-YfKw)
垢版 |
2019/01/03(木) 18:43:36.12ID:GkQ/2uWAd
FT_Set_Transform関数は、現在の変形行列と平行移動を指定するもの。この他にFT_Matrix_Multiply、FT_Vector_Transform関数が使える。
変形行列と平行移動を合わせて仮にTransMatrix構造体として表すものとすれば、
typedef struct {
FT_Matrix mat;
FT_Vector vec;
} TransMatrix;
さらに、TransMatrix同士の積TransMatrix_Multiplyを定義する。
0190さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-YfKw)
垢版 |
2019/01/03(木) 18:48:00.87ID:GkQ/2uWAd
論理座標変換用のTransMatrix_LPtoDP、
lfWidth変換用のTransMatrix_Width、
lfEscapement変換用のTransMatrix_Escape、
さらに世界変形用のTransMatrix_Worldを定義し、
それぞれを掛け合わせれば、変換後の座標が定義できる。。。

といった感じなんだが。
0193さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-YfKw)
垢版 |
2019/01/03(木) 19:00:38.66ID:GkQ/2uWAd
何かを中心に回転移動するというのが一つのTransMatrixでは表現できないように思える。
中心点まで平行移動して回転移動してまた中心点を戻すというやり方じゃないといけないような。
0195デフォルトの名無しさん (ワッチョイ 497b-EgDX)
垢版 |
2019/01/03(木) 19:08:42.35ID:NOMEwXEr0
>>193
何か大幅に勘違いしていると思うが。

2x2の行列(=FT_Set_Transform)なら原点は移動出来ないから単なる一次変換であり、斜体/回転までだ。
つまり仕様としては字毎にレンダリングしろ、という事だろ。これも問題ないと思うが。
(平行移動(原点移動)が必要なら3x3行列でアフィン変換となる)
0199デフォルトの名無しさん (ワッチョイ 497b-EgDX)
垢版 |
2019/01/03(木) 19:29:38.69ID:NOMEwXEr0
>>196
いや何が?

元々フォントは字毎であり、つまり字毎にベジエ曲線が定義されており、
それは各字の左下なり左上なり(どちらかは知らん)を基点として参照点が指定されているわけだろ。
そしてそれが今現在正しく回転してレンダリング出来ているんだから、
今現在も平行移動部分は出来ているんだよ。それをわざわざ持つ意味はない。
例えば、

ABCDEF

を90°回転して表示するケースを考えてみる。
Aは原点移動無しで回転するだけだ。ここまではいいだろ。
Bも原点移動無しで回転すると、当然Aの上に上書きされてしまうから、これが

F
E
D
C
B
A

の並びになる時点でBの原点移動(つまり平行移動)は今でも実装出来ていて、動いている。
これは理解出来ているか?

>>197
SetWorldTransformについては仕様に行列も書かれているだろ。(何故か転置されているが)
https://msdn.microsoft.com/ja-jp/library/cc428788.aspx


つってもここで詳細を問答しても埒が明かないし空回りを誘発するから、実装を優先してくれ。
0212さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ e501-4MHR)
垢版 |
2019/01/12(土) 13:21:52.88ID:7KwgHC6s0
https://jira.reactos.org/secure/attachment/50653/TypeTest3.zip

OnFreeTypeDraw関数を編集して、FreeTypeの場合とFreeTypeではない場合のレンダリングをなるべく一致させなさい。

難しい。
0229デフォルトの名無しさん (ワッチョイ 6970-/mRV)
垢版 |
2019/01/19(土) 16:46:58.96ID:SwmccsG20
コンパイラエラー C2872 あいまいなシンボルです。

コンパイルエラーが解消出来ません。
ご教授下さい。

■コンパイルエラー内容
error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです

■やりたいこと
AmazonのAPI「Marketplace Web Service API (MWS)」のHello world

以下ページの右上 オレンジ色の「Download」ボタンから入手できる
「MWSProducts_2011-10-01_v2017-03-22.dll」の使用
https://developer.amazonservices.jp/doc/products/products/v20111001/cSharp.html

■DLLの使用
Visual Studioの対象プロジェクトのプロパティから、
上記DLLの参照を追加しました

■コーディング
using namespace MarketplaceWebServiceProducts;//←ここはコンパイルOK
using namespace MarketplaceWebServiceProducts::Mock;//←★ここで上記コンパイルエラー

■ご質問
上位の「MarketplaceWebServiceProducts」が正常なのに、
下位の「Mock」を付けるとあいまいなシンボルになるのはなぜでしょうか。
解決策をご教授ください。(可能であれば実装をご提供ください)

■環境
Visual Studio
.Net 4.0
C++/Cli
0231デフォルトの名無しさん (ワッチョイ 1b02-T05w)
垢版 |
2019/01/19(土) 17:04:01.25ID:M8Q3zGyy0
>>229
それCではなくてC++の話だよね?だったらスレチだよ。
0233デフォルトの名無しさん (ワッチョイ 6970-/mRV)
垢版 |
2019/01/19(土) 17:14:29.80ID:SwmccsG20
>>230
ご回答ありがとうございます

>>231
>>232
言語関係ないコンパイルエラーなので、
上級者のみなさまなら回答できるかと存じます

ご回答引き続きお待ちしております
0234デフォルトの名無しさん (ワッチョイ 1b02-T05w)
垢版 |
2019/01/19(土) 17:25:37.61ID:M8Q3zGyy0
>>233
namespace はCにはないものなのでCの上級者でも他の言語知らなかったら答えられないよ。
0236デフォルトの名無しさん (ワッチョイ 6970-/mRV)
垢版 |
2019/01/19(土) 17:39:49.16ID:SwmccsG20
>>234
ご回答ありがとうございます
そうなのですね。Cにもinculude やname spaceあったように記憶しています。

>>235
ご回答ありがとうございます
C#と同じです。
ヘッダとはDLLの中身でしょうか?
DLLはバイナリなので中身が追えません。

とても困っているのでご教授引き続きお待ちしております
0238デフォルトの名無しさん (ワッチョイ eb2c-AZji)
垢版 |
2019/01/19(土) 18:20:45.50ID:wiNfQeeu0
>本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!

この質問者は、荒らしだから、無視しろ!
0242デフォルトの名無しさん (ワッチョイ 1b02-T05w)
垢版 |
2019/01/20(日) 18:15:56.58ID:VD9ut2bQ0
>>236
Cにはnamespaceはありません。
includeはプリプロセッサの問題なのでC++と同じなのが普通でしょうが、言語そのものとは無関係なテキスト変換処理です。
0245デフォルトの名無しさん (ワッチョイ 1ba0-5eNy)
垢版 |
2019/01/23(水) 03:35:01.17ID:b+R6E+3S0
i5-8600 のキャッシュラインのデータサイズを知りたいんですが、参照すべき文書等教えてくれたら助かります。
並列処理の開発中で、色々難儀してます。
難しいですが、面白いトピックで興味をそそられます。
0247デフォルトの名無しさん (ワッチョイ 06ca-hLzx)
垢版 |
2019/01/24(木) 00:14:17.02ID:TFfQdKfR0
>>246
普通にCやってるだけなら10年やろうとCPUのキャッシュラインなど意識しないことも珍しくはないだろ。
つまらんこと書いてないでドキュメントへのリンクでも貼ってやればすぐ終わるじゃん。
0249デフォルトの名無しさん (ワッチョイ 797b-5sw6)
垢版 |
2019/01/24(木) 01:12:20.09ID:x2HCgLhu0
>>247
ならお前が書けよ
そもそも非上級者スレで間に合う話をこっちに持ってくるな、でしかない

それ以前にキャッシュライン長が見えるプログラミングなんてそうそう出来るものではないし、
その辺も分かってないのだと思うよ
それがつまりお前が知らない理由でもあるわけでさ
0256デフォルトの名無しさん (ワッチョイ c6a0-EE/t)
垢版 |
2019/01/24(木) 12:37:17.80ID:9qFVeQ4q0
i5-8600っておもっくそ書いてるんですけど。
資格だの言うなら審査付きの会員制のサイトでも作れよw。
0258デフォルトの名無しさん (ワッチョイ 797b-5sw6)
垢版 |
2019/01/25(金) 00:17:44.69ID:a/PpKsi/0
結局、お前らゆとりの根本的な問題はそこなんだよ。
お前らが壊してきた物、今現在壊して行っている物を、認識出来ていない。

幼稚園児が公園の花壇を砂場と勘違いして破壊して行っているようなものだ。
ゆとりには悪気はないのだが、それが余計に救えない。

このスレももう終わりだ。
時間の問題だとは思っていたが、思っていたよりも早かった。
0259デフォルトの名無しさん (ワッチョイ 797b-5sw6)
垢版 |
2019/01/25(金) 00:18:03.51ID:a/PpKsi/0
> 審査付きの会員制のサイト (>>256)
現実的にこれが必要な状況になりつつある。
技術的にはGitHub上にフォーラムを作ってもらえるのが一番有り難い。
そうすれば各自のリポジトリを見てどの程度の奴なのか判断出来る。

コミュニティの一生、というコピペがあるだろ。
https://dic.nicovideo.jp/a/コミュニティの一生
これの英語版もあるにはある。ただ、お前らは知らないのだと思うが、
実は海外の掲示板は日本人コミュニティとは異なり、さほど劣化しない。
その理由は俺は適切なBANにあると見ている。
つまり、普通にググれば辿り着けることを質問してくる馬鹿には1ヶ月のBANとか、だ。
そんなことをする奴は基本的に使い方を間違っているのだから、1ヶ月のROMを強制する、ということ。

俺の希望は上記の通りGitHubが対応してくれることだが、
そんな他力本願な事を言っていても始まらないので、俺自身も実際に立ち上げを準備中だ。
だから今現在調査中でもある。機能している日本語/英語のプログラミングコミュニティがあれば教えて欲しい。
海外掲示板は本当に些細なことでBANを打ってくる。これは当初はスルースキルなさすぎ、と思っていたが、
日本の掲示板はスルースキルさえあればやりたい放題で、それが荒廃に繋がっているのもまた事実。
そして最近上記の通り、海外掲示板は劣化しにくいことを目の当たりにしたので、BANについての見方も変わった。

なおこれは表面的にはゆとりが悪いんだが、
実際はゆとり世代は2chをはじめとしたBAN無しの環境しか知らないから「ネット上では何をやっても良い」と勘違いしていて、
それが旧世代の「ネットはリアルの延長からのスタート」(≒さすがにそこまでは、というラインが存在する)とフィットしないからだ。
つまり旧世代に受け入れられた2chのシステムは当然旧世代用に出来ていて、
だからこそそれがゆとり世代とフィットしないという、至極当然の帰結だ。
そしてスルースキルに関しては強い物が勝つに決まっているので、結果、2chは馬鹿ゆとりに占拠され、旧世代はパージされる。
だからその受け皿を用意しようというわけだ。
実際、俺も見切りを付けつつあるし、適当な移住先がないから自前で用意しよう、ということでもある。
0260デフォルトの名無しさん (ワッチョイ 797b-5sw6)
垢版 |
2019/01/25(金) 00:18:26.97ID:a/PpKsi/0
だから繰り返すが、今現在調査中だから、機能しているプログラミングコミュニティを知っていれば教えて欲しい。
あと、ゆとりも、馬鹿ゆとりのままで留まっている奴らと、ゆとりの駄目な点を理解し始めてきた奴らと分化しつつある。
ここら辺について詳しく分かる、あるいは議論出来る場があれば教えて欲しい。
そこから人材を引っ張ってこれる可能性がある。
基本的に日本のシステムでは運営議論は内々で済ませてしまっていて、結果的に人材が育っていない。
だからゆとりは何故それが掲示板を劣化させるのか分からないし、効率的に知る方法もない。
(歴史(=スレを読めばいいだけ)ではなく、自身の経験によって学ぶしかないので、愚者を強いられる)
ただ、単純に言うと、白熱した議論で、或いは技術的に話していて言葉が激しくなったところで、掲示板が劣化することはない。
ゆとりがやっている、ググれば済むだけのことを質問し続けたりする方が、確実に死ぬ。
ゆとりは敬語を使えばいいと勘違いしているようだが、敬語なんて全く関係ない。

ただ、一応ここにも書いてはみたが、そもそもゆとりは問題を認識してないから、話が全く通じない。
だからもう諦めてる。
コミュ障というか、話し下手というか、ネットがあったからこそなんとかなった弊害か。
そこでそう受けるからそう展開する、というのが全く見えてない。これがどうにもならない。

が、まあとにかく、俺の見方は上記の通りで、準備中だ。
情報があればよろしく。必要であれば他にスレ立てる。
0261デフォルトの名無しさん (ワッチョイ c6a0-EE/t)
垢版 |
2019/01/25(金) 00:43:40.56ID:ps5S8w5k0
匿名掲示板をここまで大事にする奴初めて見たわ。
0262 ◆QZaw55cn4c (ワッチョイ 2247-78uA)
垢版 |
2019/01/25(金) 00:54:09.79ID:frDzLonh0
>>259
これは、宮台真司もいってますね
仲間だけで作るコミュニティを(氏の言葉でいえば)「クズども」から守るためクローズドにする、あるいはネットから遮断し推薦による入会だけに制限する動きは、プログラミングに限らず10年ほど前からの傾向だそう

>>260
>機能しているプログラミングコミュニティを知っていれば教えて欲しい
自分で探せ
そして見つけても人に教えるな
2ch に限らず社会は「人間のクズ」ばかり
クズから仲間を守らないやつはクズ
0264デフォルトの名無しさん (ワッチョイ 797b-5sw6)
垢版 |
2019/01/25(金) 02:12:04.58ID:a/PpKsi/0
>>261
それがお前らの駄目なところだ。
お前らが無邪気に踏みつけている土にも、誰かが花の種を植えていることはよくある。
それを認識出来てないから駄目なんだ。

お前らの、質問だけ丁寧で後でいきなり豹変する具合とか、キチガイじみてる。
ゆとりが独自の場所を持ててないのは、お前ら自身が確実に潰してる。
(新しいことをしようって奴は性格の問題で、ゆとり教育で変わる(減る)ものではないから)


>>262
自覚してないようだが、お前もクズだぞQZ。お前は話が通じない。
実際は性格ではなく記憶領域の問題だが、一般にはこれを認識出来る奴の方が少ない。
結果、お前も一般社会では十分クズ扱いのはずだ。
おそらくそれがお前がここにいる理由で、また、一向に上達している気配がない理由でもある。

が、まあ、分かった。ここでコミュニティを教えてもらえると思う方が間違いだ。
これはその通り。
アイデアだけはあれば頂こう。

なお、匿名にこだわってはいない。
可能であれば匿名がいいが、StackOverflow等も半匿名(コテハン制)なのは、
彼等がその方がいいと判断したからだ。

今現在、海外掲示板も持っていない機能として、ホワイトリスト式のBANを考えている。
荒れたときにcaptchaってのはよくあるが、それを強化する方向になる。
これについて、また、他にアイデアがあればよろしく。
0266 ◆QZaw55cn4c (ワッチョイ 2247-78uA)
垢版 |
2019/01/25(金) 02:35:53.79ID:frDzLonh0
>>264
>実際は性格ではなく記憶領域の問題
興味深いですね、私は一般社会では性格異常と揶揄されているところではありますが、性格ではなく記憶領域の問題とは?
0268デフォルトの名無しさん (ワッチョイ 06ca-hLzx)
垢版 |
2019/01/25(金) 11:32:47.39ID:5+oIfs910
だな。
キャッシュラインの話も上っ面でなんとなく聞き覚えはあるが具体的な知見も無く役に立つ話もできずリンクのひとつも貼れないだけだろ。
最初からプロセッサも指定してるのに >>255 これw
んで顔真っ赤にして暴走w
おれからもそういう上級者様を温かく受け入れてくれるコミュニティに引っ越すことを勧めるよ。
0278さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ e101-IbdQ)
垢版 |
2019/02/13(水) 15:49:51.53ID:GYQxg1as0
読んでる人、居ますか? 居たらお返事下さい。

別の案件なんだが、ラジオやMP3で扱うような低品質な音声波形になるべくバイナリーデータを多く埋め込みたい。
多少ノイズが入っても誤り補正が働くようにしたい。
高速フーリエ変換はなんとか理解した。どうすれば、データ量と読み取り精度を両立できるか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況