C言語なら俺に聞け 150
■ このスレッドは過去ログ倉庫に格納されています
30 年前に C コンパイラにアセンブラソース出させて C を学んだけど
ひょっとして普通はしないことなの? MS-DOSでPC98使ってました
多分80386だったんじゃないかな? なんかそれっぽいw
CADのデータを扱うアプリで、データが大きくなりすぎて
PCによっては読込すら出来なくなってしまい
アプリを立ち上げずに画面表示やプロッター出力する
プログラムを作れという指令が飛んだんです
データ構造は比較的簡単で、先頭部分に部品基本イメージ、
その後ろから、固定長で膨大な描画情報がある感じです
描画情報を64k未満の配列に分割して格納し、
それぞれの配列アドレスを格納した配列経由で操作するイメージでした DXFのENTITIESセクションとかかな 頭に部品イメージ云々 そんな感じです
ソフトは有名な高額ソフトではありません
スタンドアロンのMS-DOSで動作可能なほど
コンパクトなものでした(名前失念w) >>63
コードが最適化されるのが前提なところがあるので
今はしたくてもちょっと難しい気がする
できることはできるけど、イマイチ学習効果が薄そう そもそもPC-98シリーズで数百MBのメモリー載る機種あるのか?
HDDですら数十MBクラスが普通だったと思うが… >>71
メガバイトって事は無いですね
初期の無印98で128KB、MAX640KBだったかな
386乗せたRAシリーズだと標準で640KB+1024KBだったと思う あれ?
98note 使ってたけどメモリ増設で16MB 積むか12MBで妥協するかで悩んでいた記憶が…
勘違いかな? Ap2でいくら載せてたかなぁ・・・。
20だか30M程度だったと思う。
パリ有りメモリで近所で扱ってる店も無かった時代なんで。
ぐぐったら公式で最大 73.6MB 、非公式で125.6MBまでいけたらしい。
>HDDですら数十MBクラスが普通だったと思うが…
それはSASI HDDじゃないか?VM時代か?
RXで340M、AP2で4G のSCSI HDD使ってたよ。 Cしか書けませんっていうのは新卒就活のときに不利?
他にどんな言語を習得すればいいんだろうか まず「他にどんな言語を習得すれば良いんだろうか」なんて言ってること自体がかなり的外れかな
手段と目的の順序が逆
あと面接のときに「何故C言語を習得し、それを何に使ったんですか?」って聞かれてちゃんと答えられる? 新卒であればプログラム言語そのものより他にアピールした方がいいと思うけどな
組み込みであれば現代制御理論、解析系であれば有限要素解析などC言語のプログラミングを応用する専門分野の知識を売り込んだほうがいいと思う >>76
俺んとこではそれで充分
ただしCが書けるといってもHello worldの域を出ていないのは書けるうちに入らない
アルゴリズムの基本ができているかどうかを見ている
できていれば他言語が必要になっても泥縄ができるからだ
俺だってもともとアセンブラ屋で正社員3年目くらいのときにCの案件が回ってきて必死こいて憶えた >>76
冗談抜きで一番大事な言語は日本語と英語。
開発職に論理的な表現力は重要。 64ビットCPUでもデフォルトの命令のオペランドが32ビットだから
linuxでint_fast32_tを使うのは間違いだったんだな
多分64ビットのアドレス計算も32bitの命令があるからパッディングとかも
起こらないだろうな >>83
linuxはint_fast32_tが64ビットになってるから >>82の4行目で多分って書いたけど
64ビットのムーブ命令は32ビットなら0埋めされるから
ポインターの引き算をしなければ64ビット整数を使う必要ないということだな ポインタの引き算に使うんならptrdiff_tだね
int_fast32_tが何ビットかには関係ない >>84
amd64では64bitが最速でないのに64bitが選ばれるのはおかしいっていう主張? このスレの平均年齢って幾つなんだ…(驚愕)
Cってもう若者は触らないっていう感じなんですかね。 いまどきの若者ならみんなPythonに行ってるよ
やや年食ってる連中ならJavaやC#
職人気質で頑固な偏屈者はC++
Cはかつての栄光を引き摺って余生を過ごす老人の言語 >>93
でも言語を超えて活用されるライブラリ(libzip, libpng/libjpeg etc)は C で書かれることはあっても、OOP 諸言語で書かれることはないかと思うのですが?
C++ で記述される汎用ライブラリはありますか? Cの使い手が減ったんじゃなくて他の言語の仕事が増えてるんじゃないの。
もともとサーバー側のシステム開発をCでやったりはレアでしょ。 >>95
やっぱりアプリよりになっちゃうのは確かだね。
XMLのパーサとかだとオブジェクト指向の有り難みがある。 Cでがんばろうと思うと、glibみたいな形になっちゃいますね。 俺は有名な言語はほとんど全種類使えるから適材適所で使い分けてるは 使えるというか、Cが分かるなら「〜の言語でやれ」って言われたらどの言語でも3日で仕事出来るくらいは当然だけどね。
java勢とかが3日でCやれと言われてポインタまみれのコード読むのは無理だろうけど。 極端だけど、突然Prologでやれ!と言われても3日じゃまともに使えないと思う。 まあ新しい言語の勉強始めたら3日目にはそれなりに手が動くようになってるだろうからな。
でも仕事で使おうとするとプロジェクト設定の方法がわからないとかその辺で詰むと思うわ。 3日ねえ。まあ、書けるには書けてもその言語の特性をうまく活用できるところまでは行きそうにないな。 百歩譲って自分がもし言語が3日で出来たとしても業務知識や専門知識は3日では身に付かんから無理だわw >>109
Cしかわからなかったけど、入社して「これわかりやすいから」とjavapressをポンと渡され、3日後にはjavaで養鶏管理のシステムを作らされていたぞ。
業務知識なんて仕様書と上司に聞きながら覚えるものじゃん。業務知識覚えてから仕事って、新卒じゃないんだからw 業務知識覚えてから仕事なんて一言も書いてないけどw
こういう人ってちゃんとドキュメント類読めてるんだろうか
自己解釈でガンガン進めてから修正で苦労してそう
あと君が3日で出来るすごい人なのは充分分かったよ 業務知識を知ってから作るんだろう
新卒じゃないと知識なしに作り始めるのか 鶏が何を食っているか新卒で知っている人はいない。
貝殻食っていると知ってた? 仕様書に書いてあるんだろう
上司に教えてもらいながら開発するベテランさんは
知っていることなのかな? 貝殻というか石や砂など砂嚢(砂肝)に飲み込むものなら何でも良いんじゃないの? 皆さん鶏に詳しすぎません?w
もしかして:鶏 飼ってる カルシウムが不足すると、イライラしてくる
貝殻囓ると多少は改善する Cが出来るなら仕事で求められる程度のコーディングは3日で皆も出来るでしょというだけのお話だったのになぜか餌の話になっててワロタw Cのスレに書き込んでてかつ鶏飼育してるってすげー組み合わせ ここの人たちはマイコンで全自動の餌やり制御とか余裕で作ってそうだからなぁ まぁ、C言語のCはChickenの頭文字だからね。 それは機械学習の世界だからなpythonでやるべきだな 機械学習の段階に持っていく以前にどうやって特徴点を抽出するんだよ >>130
レーザー使って卵のうちにてのはもうあるらしい >>132
AIを信じろ、心を無にして写真を撮り続けるんだ。 B (programming language) が A programming language の流れを汲んでいるとは初耳だな Bは聞いたことがあるが、Aがあるのは初めて知ったw 昔々小学生の頃に道で売ってたカラーひよこを買って、だいたいは一晩で死ぬわけだがその時は電球で暖めたり色々やったら生き長らえて成長し、立派な鶏に成長し、その後親戚に引き取られて行ったが、すぐに食われた。 #include "A.h"
#include "B.h"
A.hとB.hに同じ内容の同じ名前の関数が定義されてると
こうインクルードした時点でコンパイラから二重定義されてるぞ
とおしかりを受けるわけだがどうしたらいいかな?
手作業でA.hないしはB.hから該当する関数を削除しないといけないかな? #pragma onceではダメですか?
そういう話ではない? AB共にその関数使用でインクルードするソースが多数あるのであれば
どちらか一方は関数削除し代わりにもう片方をインクルード うん、事情によらず同じ名前の関数定義があっちゃだめでしょ。 そのヘッダーをインクルードするソースが複数あったら、
やはりリンク時に二重定義とならないか? 定義の意味が曖昧だけど自分ならヘッダーはプロトタイプ宣言だけなので関数定義そのものが
二重になることはまず無いな
*.cと*.hファイルの関数定義と宣言をきちんと区別していれば同一関数の二重定義なんて事態には
そうならないと思うんだが int型の変数を文字列に変える
INT2STRって関数がバッティングしてる
便利な関数だからいろんなヘッダファイルに仕込んでるんだけど
そういうヘッダファイルを複数includeするとバッティングしちゃうんだよね 関数宣言だけなら多重でも文句はいわれない
マクロやtypedefに構造体の衝突ならインクルードガード施してそれだけをヘッダーに
}; #ifdef
#ifndef
#endif
の出番? ライブラリのヘッダ見てマネればいいじゃん
#ifndef _STDIO_H
#define _STDIO_H 1
...
#endif みなさんpragma onceじゃなくてifndef派なんですね >>155
> INT2STRって関数がバッティングしてる
> 便利な関数だからいろんなヘッダファイルに仕込んでるんだけど
その関数を定義した"int2str.h"を作って
#pragma onceなり#ifndefなりでインクルードガードしておく
各ヘッダーファイルは"int2str.h"をインクルードすればいいだけ >>155
「便利な関数だからいろんなヘッダファイルに仕込んでるんだけど」
普通は
「便利な関数だからライブラリ化していろんな実装ファイルでインクルードしてる」
とするべきでしょ。
ヘッダファイルの使い方も間違ってるような… ■ このスレッドは過去ログ倉庫に格納されています