検索結果 327 件

by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 拾ったPC9821を動かしたい
返信数: 8
閲覧数: 3880

Re: 拾ったPC9821を動かしたい

宣伝的にはなりますが...

私の知人が、PC-98の修理をやっています。
http://office337.shop-pro.jp/
もしよろしければ、問い合わせしてみてもよいかと思います。

ただ、どうしてもそのPCが使いたいのであればともかく、そうでなければ、安物でもよいので新品を買った方がよいでしょう。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: namespaceについて質問です。
返信数: 2
閲覧数: 1713

Re: namespaceについて質問です。

どんな使い方をするかによります。
たとえば、traitsにするのであれば、当然クラスにすべきです(classではなくstructを使う方が便利です)。
そうでないなら名前空間でよいでしょう。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします...
返信数: 3
閲覧数: 1895

Re: 早急にお願いします...

仕事で、文字列から点字に変換する処理を作っていますが、掲示板のやり取りでできるほど簡単なものではありません。

普通のかなの点字であれば、MeCabやChasenなどで形態素解析を行い、適切に分かち書きを行ったり、点訳のルールに従って補足説明を入れる必要があります。
漢字仮名まじり文をすべてひらがなと英数字記号に変換します。
最後に、点字のパターンに変換します。
点字は、UnicodeではU+2800~U+28FFにあたります。

漢点字や6点漢点字の場合はまた違いますので要注意です。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: QPTOOLKITについて
返信数: 4
閲覧数: 2487

Re: QPTOOLKITについて

Boost C++ Libraries 1.38というと、ずいぶん前のバージョンなので、最近の導入方法に関する記事だとうまくいかないかと思います。 http://www.boostpro.com/download/ ↑からビルド済みのライブラリをダウンロードできますので、それをインストールしてみてください。 それでもダメな場合は、どのように試してみて、どんな結果になったのかを正確に省略することなく書いてください。 可能なことでしたら、工学ナビのソースファイルをダウンロードして3種類のライブラリ(記載のバージョンを使用)して、実際にソースファイルから実行できるかどうか検証していただくことは可能で...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ひらがな入力
返信数: 3
閲覧数: 3449

Re: C言語 ひらがな入力

かずま さんが書きました:setlocal は実行時の文字コードを設定することができますが、
コンパイル時の文字コードの指定には、--input-charset オプションが必要なようです。
--input-charsetオプションが使えたのは、確かGCC 3.4からだった気がします。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: java言語をc言語に変換したいのですが・・・
返信数: 17
閲覧数: 18570

Re: java言語をc言語に変換したいのですが・・・

ただ、上記ページの一番下にROM/RAMサイズが書かれていますが、Arduino MEGA 2560でも、いやArduino Dueでさえ到底収まらないぐらい大きなものです。 全部は無理ですが、一部の機能だけなら収まる可能性はありますね。 もっとも、Arduino UNOやLeonardoでは無理で、MEGAが必要になるとは思いますが...。 あと、AVRはハーバードアーキテクチャですので、ROMに格納したデータは普通の変数のようにアクセスすることができません。 結果、普通にconst修飾子を付けて静的なオブジェクトを宣言してもRAMに格納されてしまいますので、RAMの使用量が思った以上に増...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: java言語をc言語に変換したいのですが・・・
返信数: 17
閲覧数: 18570

Re: java言語をc言語に変換したいのですが・・・

ECHONET LiteのC言語のソースコードは下記辺りで提供しているようですが(有償でしょうね)... http://www.co-nss.co.jp/p-org/enetlite.html ただ、上記ページの一番下にROM/RAMサイズが書かれていますが、Arduino MEGA 2560でも、いやArduino Dueでさえ到底収まらないぐらい大きなものです。 となると、ECHONET Liteについては主にPC側で動作させ、USB(シリアルポート)経由でその機能を呼び出すようにするしかないでしょう。 あるいは、もっと大きなメモリを使えるサブプロセッサを搭載したシールドを自作するかです。...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: な、なんなんだ、これは?
返信数: 2
閲覧数: 1819

Re: な、なんなんだ、これは?

風雷 さんが書きました:どうすればよいのですか?
フォーラムルールを熟読することから始めましょう。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: main関数、助けて
返信数: 12
閲覧数: 4814

Re: main関数、助けて

すべてmain関数以外で計算しないといけません 結構難しい要求ですね。 こういうことでしょうか? #include <iostream> #include <array> #include <algorithm> int program = []() { std::array<int, 5> data; std::cout << "数字を5つ入力してください" << std::endl; for (int& e : data) std::cin >> e; std::cout << "最大値" << *std::max_element(data.cbegin(), data.cend()) ...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの関数内の変数について
返信数: 10
閲覧数: 5233

Re: クラスの関数内の変数について

h2so5 さんが書きました:>たかぎさん

その方法ですとCTestのメソッド内からhensuuに自由にアクセスできるように見えますが...?
失礼、その通りです。
privateを付けておくのを忘れていました。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの関数内の変数について
返信数: 10
閲覧数: 5233

Re: クラスの関数内の変数について

こんなのでどうでしょう?

コード:

struct fooImpl{
    int hensuu;
    void foo();
};

class CTest : fooImpl{
public:
    CTest();
    ~CTest();
    using fooImpl::foo;
};
必要なだけ、いくつでも多重継承できますので、希望通りのことが実現できると思います。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: PHP(日本語だと上手く動きません)
返信数: 3
閲覧数: 4421

Re: PHP(日本語だと上手く動きません)

まともに見ていませんが、普通に考えて真っ先に疑うべきなのは、エンコーディングが合っていないということでは?
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体メンバーの拡張について
返信数: 2
閲覧数: 1990

Re: 構造体メンバーの拡張について

確かそれっぽいものを書いた記憶があると思って探してみました。
http://www.kijineko.co.jp/blog/84.html
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複素数の演算なのですが・・・
返信数: 4
閲覧数: 2182

Re: 複素数の演算なのですが・・・

「std::complex<double>を使えばよいのに」と考えるのは私だけでしょうか?
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】 趣味を仕事にする
返信数: 13
閲覧数: 5551

Re: 【雑談】 趣味を仕事にする

私の場合は、仕事でやっているうちにプログラミングが趣味にもなったので、特に大きな問題はありませんでした。
「趣味を仕事にするな」という言い分もよく分かるのですが、それはどんなスタイルで働くかとも密接にかかわってきますので、一概には言えないのではないでしょうか?
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 関数と引数について
返信数: 12
閲覧数: 3781

Re: 関数と引数について

二つ目の質問については、マクロを使って強引に実現することも可能です。 例えば、こんな感じにです。 #include <stdio.h> #include <memory> struct printABC_impl { printABC_impl() { printf("ABC\n"); } ~printABC_impl() { printf("ABC\n"); } }; #define printABC() if (auto p = std::make_shared<printABC_impl>()) int main() { printABC() { printf("EFG\n"); } }...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: eclipseで質問があります
返信数: 10
閲覧数: 4758

Re: eclipseで質問があります

JavaよりEclipseより先に、自分で調べるということを学習しましょう。
https://www.google.co.jp/search?hl=ja&q ... lr=lang_ja
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミング作成の所要時間等について。
返信数: 10
閲覧数: 4157

Re: プログラミング作成の所要時間等について。

予算6万だと普通の会社だとまず無理でしょうね。
ソフト屋さんは4人日と書かれていますが、かなり好意的というか楽観的というか控えめな数字です。
ちなみにうちの場合には、6万円では1日ちょっとしか工数をとれません。
ただし、うんと長い期間を見ていただいて、いくつかの条件を満たせば対応することもできます。
ここで営業活動をするつもりはないのであまり具体的なことは書きませんが、まったく無理ということでもないということです。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします!!
返信数: 5
閲覧数: 2499

Re: お願いします!!

float型なら、サフィックスのfが必要ですね。
そのうえで...

コード:

#include <iostream>

int main()
{
  for (float const& x :  {10.1f, 20.2f, 30.3f, 40.4f, 50.5f})
    std::cout << &x << ' ' << x << std::endl;
}
こんな感じでしょうか。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: phpで構造体
返信数: 4
閲覧数: 8734

Re: phpで構造体

方法としては二つあるかと思います。 ひとつはクラスを構造体のように使う方法です。 <?php class A { public $a; public $b; } $x = new A; $x->a = 123; $x->b = $x->a; printf("%d\n", $x->b); ?> もうひとつは、連想配列を使う方法です。 <?php $x = array('a' => 123, 'b' => 0, 'c' => 0); $x['b'] = $x['a']; printf("%d\n", $x['b']); ?> シンタックス的にCの構造体に近いのはクラスでしょうね。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: これははたして信頼してよいのか
返信数: 6
閲覧数: 3081

Re: これははたして信頼してよいのか

私自身にまったく被害がないといいきれますか? 言い切れませんので、心配なら利用しないのが吉です。 同様に、外を歩けば交通事故の被害がないといいきれませんので、心配なら外出はしないのが吉です。 家にドアや窓を付けると泥棒の被害がないといいきれませんので、心配ならドアも窓も付けないのが吉です。 水道水を利用すると、毒物や細菌の汚染による被害がないといいきれませんので、水道水は利用しないのが吉です。 電気を利用すると、感電の被害がないといいきれませんので、電気は使用しないのが吉です。 空気を呼吸すると、排気ガスその他の有毒物質による被害がないといいきれませんので、空気は吸わないのが吉です。 要はそ...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: scanfについて
返信数: 28
閲覧数: 12586

Re: scanfについて

というか、そもそもがコードの移植性を軽視したために環境が変われば案の定問題が発生し、その原因をすり替えるためにscanfを悪者にしたというところではないでしょうか?
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: visual studio
返信数: 8
閲覧数: 4090

Re: visual studio

「ちょっとプログラミングする」の内容によっては、スクリプト言語の方が便利な場合もあります。
まずは目的をはっきりさせることですね。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: scanfについて
返信数: 28
閲覧数: 12586

Re: scanfについて

ISLe さんが書きました:でも緊急時に不具合が出るととても困るので、即席使い捨ての簡易ツールであろうと、scanfで業務に使うプログラム作るのは自殺行為ということですね。
そうでもないです。
(ワイドではない)文字や文字列の読み込みを行う分には問題ありませんので、scanfを使っても安全です。
fgetsで読み込んでから改行文字を取り除くよりscanfを使う方が便利なこともあれば、0~9の数字の並びだけで構成される文字列を読み込みたい場合などもscanfの方が便利だったりします。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: scanfについて
返信数: 28
閲覧数: 12586

Re: scanfについて

前者は、言語(この場合ライブラリ?)仕様に、「変換指定は,入力項目を,変換指定子に対して適切な型に変換する。」とあるのですが、「変換結果が指定されたオブジェクト内で表現できない場合」に当てはまってしまうのでしょうか。 そういうことです。 こちらも入力幅を指定して最大値を絞ってもダメですかね。 型の表現範囲よりかなり小さい範囲に絞ってよいならある程度は可能ですが、符号の有無や冗長な0、指数表現等まで考慮に入れると、思い通りに制御するのは無理です。 後者は、さすがに印字可能なテキストデータを読ませるという前提まで崩れるとどうしようもないというか。 どこかのハードが壊れているのではないかと疑いたく...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: scanfについて
返信数: 28
閲覧数: 12586

Re: scanfについて

ISLe さんが書きました:どんな問題があるのか具体的に教えていただけないでしょうか。
私の意見を言わせていただくと...

・%dや%f等で数値を読み込む場合、オーバーフローが発生すると未定義の動作を引き起こします。
・%lcや%lsでワイド文字(列)を読み込む場合、元のデータに不正なシーケンスが含まれると未定義の動作を引き起こします。

結局安全に読み込めるのは、(ワイドではない)文字または文字列しかありません。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談?]c++の分かりやすいプログラム
返信数: 25
閲覧数: 11624

Re: [雑談?]c++の分かりやすいプログラム

最近は、分かりにくくするために、あえてC++で実装するということをやったりと、かなり邪道に走っています。
楽な実装方法を選択すると、安易に業者変更されたりするので、自衛策としてやっています。
MinGW(C++11) + Boost C++ Libraries、かつPHPで前処理とかやっていると、まず他社でメンテナンスできなくなりますから(できても安価にはならない)。
世知辛い世の中になったものです。
ほとんどのお客さんは、こんなことをする必要はないんですけどね。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 変数関数の問題です!!よろしくお願いします。
返信数: 4
閲覧数: 1920

Re: 変数関数の問題です!!よろしくお願いします。

ホヅミ さんが書きました:最近フォーラムルールを読まない人が多いです。
最近に限った話ではありません。

・書いていることを読まない。
・読んでも人間の言葉が理解できない。
・仮に内容を理解しても無視する。

こういった人たちには、いかなる回答も無意味です。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 質問
返信数: 4
閲覧数: 2074

Re: 質問

涼雅 さんが書きました:丸投げは禁止です。
フォーラムルールをご覧ください。
フォーラムルールを英語で説明してほしいということだったりして。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: newした領域へのdeleteの必要性
返信数: 5
閲覧数: 3979

Re: newした領域へのdeleteの必要性

単に早く終わらせたいだけなら、std::quick_exitよりstd::_Exitの方がよいのでは?
デストラクタ云々を言い出すのであれば、std::exitでも自動オブジェクトとかのデストラクタは呼ばれないので五十歩百歩です。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: pthread_create 関数を windows でも使えるようにする
返信数: 4
閲覧数: 3062

Re: pthread_create 関数を windows でも使えるようにする

softyaさんも書かれていますが、CreateThreadではなく_beginthreadまたは_beginthreadexを使ってください。
元がUnixをターゲットにしているソースであれば、標準ライブラリを排除することはまず無理でしょう。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: pthread_create 関数を windows でも使えるようにする
返信数: 4
閲覧数: 3062

Re: pthread_create 関数を windows でも使えるようにする

pthreadはMinGWにも移植されているので、そのソースを参考にしては?
いっそのことMinGWを使うというのも一つの手です。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: サイト
返信数: 5
閲覧数: 2802

Re: サイト

h2so5 さんが書きました:使ったことはないですがland.toもあります。
PHPだけでなくRubyやPythonも使えるみたいです。

http://land.to/
最近はどうなのか知りませんが、以前試したときの印象ではあまりにも重くて使い物になりませんでした。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: サイト
返信数: 5
閲覧数: 2802

Re: サイト

一応、回答しておくと...

XREA
http://www.xrea.com/

@PAGES
http://atpages.jp/

あたりならPHPが使えます。
XREAは募集時期が限定されていますので、すぐに使いたければ@PAGESの方がよいでしょう。

ただし、私としても、可能であれば安価な有償のレンタルサーバーをお勧めします。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: placement delete の存在意義について
返信数: 3
閲覧数: 3611

Re: placement delete の存在意義について

operator newを多重定義したときは、必ず対になるoperator deleteも多重定義しなければなりません。 operator new(void*)を多重定義したのであれば、operator delete(void*, void*)も多重定義しなければならないのです。 これは、次のような場合に意味を持ちます。 class A { public: A() { throw std::runtime_error("エラー"); } }; A* ptr = new(&storage) A; 上のコードでは、Aのコンストラクタが例外を送出します。結果として、new式が失敗し、中断されるわけで...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: goto
返信数: 5
閲覧数: 2746

Re: goto

みけCAT さんが書きました:
オカピーα さんが書きました:switch文のなかで変数を宣言してはいけません。
そんなことはない/言葉が足りないと思います。
そうです。そんなことはありません。

コード:

switch (expression)
{
    int variable;
case 0:
    foo(&variable);
    printf("%d\n", variable);
    break;
case 1:
    bar(&variable);
    printf("%d\n", variable);
    break;
default:
    break;
}
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 名称を教えてください
返信数: 9
閲覧数: 4408

Re: 名称を教えてください

左辺、右辺といういいかたならあります。
数学では、左辺や右辺は等号や不等号の場合にしか使いませんが、プログラミング言語の場合は演算子全般についてもそう呼ぶことがあります。
left-hand sideとright-hand sideの訳なのかもしれません。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語初心者の大学1年生です。
返信数: 39
閲覧数: 11805

Re: C言語初心者の大学1年生です。

unittk501st さんが書きました:・どこまで理解できているのか
ー課題は全く理解できず、何を言ってるかがさっぱりわかりません。
もしかして、外国人留学生か何かで、日本語が不自由なのでしょうか?
そうでなければ、「全く」理解できないということはないはずです。
(日本語で文章も書けているようですし)

「全く」理解できないのでなければ、どこまで理解できているのかを書くことは可能なはずです。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: フリープログラマになるには
返信数: 13
閲覧数: 4911

Re: フリープログラマになるには

いろいろ質問が出ていますが、下記に答えれば他も何とかなるでしょう。

> ③もしフリープログラマを目指すならどうやって仕事を持ってきますか?

営業します。
具体的な営業方法は、自分の特性や地域性など、さまざまな状況に依存しますので、自分に最適な方法を見出してください。

> ④仕事で使える言語は主にどれですか?

日本語です。
プログラミング言語なんかまったく分からなくても、極端な話、それが得意な外注に出せばよいのです。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のプログラムをC++に直すメリットとは何でしょうか?
返信数: 19
閲覧数: 5997

Re: C言語のプログラムをC++に直すメリットとは何でしょうか?

CにくらべるとC++は静的な型チェックが強力ですので、Cで書かれたソースコードをC++でもコンパイルできるようにするのは、潜在的な不具合を減少させるという意味で、それなりのメリットがあります。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: テレビディレクター
返信数: 2
閲覧数: 1524

Re: テレビディレクター

いずれにしても、就職してすぐにディレクターになれるわけではありません。
テレビがもはやオールドメディアと化したことを十分理解した上で、数十年先までにらんで進路を決めることをお勧めします。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: exit()について
返信数: 9
閲覧数: 3852

Re: exit()について

return 0; と exit(0); はどのような違いがあるのでしょうか? おそらく、main関数内でのreturn 0;との違いを知りたいのだと思いますが... main関数は再帰呼び出しが可能ですので、最初に呼び出されたmain関数の中でのreturn 0;は、最初に呼び出されたmain関数の中で呼び出したexit(0);と同じ意味です。 2回目以降に呼び出されたmain関数の中でのreturn 0; は、単に呼び出し元に0を返却値として返します。 最初に呼び出されたmain関数の中以外から呼び出したexit(0);は、そこでいきなりプログラムが終了します。 もしCではなくC++であ...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: exit()について
返信数: 9
閲覧数: 3852

Re: exit()について

環境不明なので正確なことはいえませんが...

exit関数の引数はホスト環境に返されます。
通常は、そのプログラムを実行させたプログラム(典型的にはシェル)に何らかの方法で通知されます。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: {}の位置
返信数: 15
閲覧数: 13850

Re: {}の位置

私は後者ですが、はっきりいってそんなことはどうでもよいと考えています。
一貫性がないのは困りますが、どちらかにそろえておけばそれでよいと思います。
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: ASCII → HEX 変換について
返信数: 5
閲覧数: 14248

Re: ASCII → HEX 変換について

比較的ローエンドのマイコンで速度優先にするのであれば、次のように表引きにしてもよいでしょう。 int ascii_to_hex(const char *s) { static const char table[256] = { ['0'] = 0, ['1'] = 1, ['2'] = 2, ['3'] = 3, ['4'] = 4, ['5'] = 5, ['6'] = 6, ['7'] = 7, ['8'] = 8, ['9'] = 9, ['A'] = 10, ['B'] = 11, ['C'] = 12, ['D'] = 13, ['E'] = 14, ['F'] = 15, ['a'...
by たかぎ
11年前
フォーラム: C言語何でも質問掲示板
トピック: ASCII → HEX 変換について
返信数: 5
閲覧数: 14248

Re: ASCII → HEX 変換について

この手のものは、速度優先なのか、サイズ優先なのか、可読性優先なのか、移植性優先なのかをはっきりさせる必要があります。
速度やサイズを優先するのであれば、プロセッサやコンパイラを明記してください。
また、すでに指摘があるのように、エラーチェックをどの程度行うのかによっては話が変わってきます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談?】オブジェクト指向プログラミングについて
返信数: 19
閲覧数: 6529

Re: 【雑談?】オブジェクト指向プログラミングについて

jay さんが書きました:ことC++ならばクラスでも構造体でもデフォルトのアクセス指定子が違うだけで
後は全く同じな筈ですが、どうして構造体ではなくクラスを使うのでしょうか?
C++に関していえば、構造体も共用体もクラスの一種です。
共用体はともかく、用途に応じてclassとstructのキーワードを使い分けるのは悪いことではないので、そういうコーディングルールがよく見られるだけかと思います。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談?】オブジェクト指向プログラミングについて
返信数: 19
閲覧数: 6529

Re: 【雑談?】オブジェクト指向プログラミングについて

beatle さんが書きました:掲示板などで得られる知識は実装面に偏ってしまいがちです。このメソッドはこのクラスに入れるべきだ、この変数はprivateにすべきだ、インターフェースを定義してそれを継承するようにすべきだ、など。
少なくとも今回の質問にかぎっていえば、「オブジェクト指向プログラミング」についてなので、それでよいのではないでしょうか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談?】オブジェクト指向プログラミングについて
返信数: 19
閲覧数: 6529

Re: 【雑談?】オブジェクト指向プログラミングについて

オブジェクト指向プログラミングに必須の機能は「カプセル化」ですから、カプセル化を十分に理解すれば他の概念の理解も容易になります。 カプセル化だけならCでも十分実現できますので、カプセル化した場合、しない場合のそれぞれをCで試してみれば、その利点が見えてくるはずです。 /* A.h */ #ifndef A_H_ #define A_H_ struct A; void f_A(struct A*); int g_A(struct A*, int); #endif /* A.c */ #include "A.h" #include <stdio.h> struct A { int a; }; vo...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

Fimbul さんが書きました: 問題と思わないのであれば、それで良いですが、以後私の質問には返信なさらないでください。
自分が立てたトピックは自分のものなので好き勝手にしてよいと勘違いしていませんか?
その勘違いが、見当はずれなことで怒り出さなければならない理由になっている気がします。
Fimbul さんが書きました:たかぎさんのスタンスと同じで、私の知った事ではないです。
私のスタンスをまったく理解されていないようで残念です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

情報が少ないので答える事が難しい、有償のサービスを利用してみてはどうか、と私に伝える為に「何のメリットも無い」、「無価値」と喧嘩を売る言葉をわざわざ使う必要があるのでしょうか。 なぜ「喧嘩を売る言葉」と考えるのか理解に苦しみます。 よくわからない話に終始してしまうと、それは「他の閲覧者にとって何のメリットもない話」になります。 そして、それは公開掲示板にとっては「無価値」ですし、多くの閲覧者に有益な情報を残そうと回答している回答者たちにとっても「無価値」なやり取りになります。 単なる事実関係でしかないと思うのですが...。 少し追記... 正直言うと私の方が喧嘩を売られたようで、ちょっと困惑...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

Fimbul さんが書きました:情報が少ないので答える事が難しい、有償のサービスを利用してみてはどうか、と私に伝える為に「何のメリットも無い」、「無価値」と喧嘩を売る言葉をわざわざ使う必要があるのでしょうか。
なぜ「喧嘩を売る言葉」と考えるのか理解に苦しみます。

よくわからない話に終始してしまうと、それは「他の閲覧者にとって何のメリットもない話」になります。
そして、それは公開掲示板にとっては「無価値」ですし、多くの閲覧者に有益な情報を残そうと回答している回答者たちにとっても「無価値」なやり取りになります。
単なる事実関係でしかないと思うのですが...。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

softya(ソフト屋) さんが書きました:それと「同じ事で困っている人の為に過去ログに有用な情報を残すようお願いします。」はフォーラムルールにある義務行為ですので、大筋においては間違ってはいないとも言えます。
そうなんです。
もし仮に、何らかの方法で環境に関する共通認識を持てるに至ったとしても、ほかの大多数の閲覧者がその認識に到達することはまず無理です。
それであれば、「同じ事で困っている人の為に...」といっても「同じ事」なのかどうかすら判断が付かない情報しか残らないのです。

現実問題としては、そうした状況に至ることさえ稀で、よくわからない抽象論に終始することでしょう。
それなら、掲示板以外の方法を使う方がやはり得策なのです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

開発環境の話が多いですが、こちらの都合で提示出来ません。 申し訳ないです。 それなら有償のサービスを利用する方が得策です。 公開掲示板で、他の閲覧者にとって何のメリットもない話を展開しても無価値だからです。 たかぎさんは上記の事を私と面と向かって話せる覚悟を持っていますか。 それなら良いですが、人を批判するなら自分が批判される覚悟を持って下さい。 そう感情的になられても困ります。 情報を提示できない理由はわかりませんが、多くの場合は業務上の秘密を守るためでしょう。 それであれば、機密保持契約を結ぶなりして有償のサポートサービスを受ける方が得策だし、そうするのが筋だといっているのです。 このこ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

Fimbul さんが書きました:開発環境の話が多いですが、こちらの都合で提示出来ません。
申し訳ないです。
それなら有償のサービスを利用する方が得策です。
公開掲示板で、他の閲覧者にとって何のメリットもない話を展開しても無価値だからです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マイコンのメモリについて
返信数: 19
閲覧数: 8230

Re: マイコンのメモリについて

どんなマイコンなのか不明ですし、周辺のハードウェア構成も不明なので正確なことはいえませんが... 普通はフラッシュメモリにプログラムや静的オブジェクトの初期値が格納されますが、ここでいう「Flash」が別の用途の可能性もあります。 つまり、単なる補助記憶装置として使われている可能性もあるからです。 また、プログラムが「RAM」に配置される可能性はあります。 例えば、フラッシュメモリには圧縮した形式(または非圧縮)でプログラムが格納されており、実行時にそれがRAMに転送されて使われることがあります。 さらに、開発中の効率を改善するために、RAMに直接プログラムをダウンロードして実行させることもあ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: cygwinでプログラムが正常に動作しません。
返信数: 9
閲覧数: 3339

Re: cygwinでプログラムが正常に動作しません。

LIST構造体のwordはゼロ長配列ですので、mallocでメモリを割り付ける際に必要な分を加えたサイズを指定しなければなりません。 たとえば、wordに10バイトのサイズを持たせるには、mallocの引数はsizeof(struct LIST) + 10でなければなりません。 それ以前に、単に標準入力から読み込んだ単語をソートするだけであれば、次のようにすれば実現できます。 #include <stdlib.h> int main(void) { system("sort"); } 本来であればsortコマンドを直接呼び出すだけでよいのですが、それではプログラミングになりませんので...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 変数について
返信数: 5
閲覧数: 2464

Re: 変数について

takatwu さんが書きました:関数内で変数を宣言しそのポインタを返す時
関数から出た瞬間にその変数は開放されてしまいますか?
記憶域期間の指定はないわけですが...

コード:

int *func(void)
{
    static int value;
    return &value;
}
上のように書けば、func内で宣言された変数valueは関数の外部に対して「開放」されます。
ただし、記憶域が「解放」されるのはプログラム終了時です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: VisualStudio2010購入についてのご相談。
返信数: 10
閲覧数: 3916

Re: VisualStudio2010購入についてのご相談。

アカデミック版が買えて一番うれしいのは、Adobeのツールのような気がします。
あとはOfficeでしょうか?
Visual Studio 2010は64ビット版の開発をするとか、複数の言語を混在させたいとか、F#を使いたいとか、サーバーエクスプローラーを使いたいとか、そんな動機がなければ必要ないでしょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語プログラミング能力認定試験について
返信数: 5
閲覧数: 3026

Re: C言語プログラミング能力認定試験について

でもこれはほとんどの場合3級を受験するような段階では知らないようなレベルの話ですから意識するほどのことではありません。 何ともいえないですね。 学生の場合ならともかく、実務で必要に迫られたC言語を勉強した人の場合、教科書通りの順に覚えるわけではありませんからね。 例えば、PHPは経験があるけれど、思い処理をC言語で書きたいという動機で学び始めた人ならどうでしょうか? おそらく、最初の段階では、PHPの拡張モジュールではなく、外部プログラムとして呼び出すことを考えるでしょう。 すると、printfの出力は、PHP側のexec関数または``演算子の結果として受け取るといった使い方を、かなり初期の...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: キャストした値のprintf表示
返信数: 5
閲覧数: 2408

Re: キャストした値のprintf表示

処理系不明ですが...

どういう回答を期待しているのか分かりませんが、こういうことでしょうか?

コード:

long lret = 15000;
_Alignas(long) unsigned char b[sizeof(long)];
memcpy( b, &lret, sizeof(long) );

printf("%lu\n", *(long*)(b));
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語プログラミング能力認定試験について
返信数: 5
閲覧数: 3026

Re: C言語プログラミング能力認定試験について

まともに勉強して得た知識に基づいて解答すると、不正解になることが多々あるのです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語プログラミング能力認定試験について
返信数: 5
閲覧数: 3026

Re: C言語プログラミング能力認定試験について

あの試験は、技術的な能力を身に付けるより、運営者におもねるというか、一種の世渡りのスキルを身に付ける必要があります。
その意味で難しいですね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: わからない問題
返信数: 7
閲覧数: 3493

Re: わからない問題

(1)だけCで作ってみました。

コード:

#include <stdio.h>

int main(void)
{
    for (int i = 0, abcd; (abcd = i * i) <= 9999; i++)
    {
        int t = abcd / 100 + abcd % 100;
        t *= t;
        if (abcd == t)
            printf("%04d\n", abcd);
    }
    return 0;
}
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】 HAL 名古屋と大阪 どちらがおすすめですか?
返信数: 3
閲覧数: 2118

Re: 【雑談】 HAL 名古屋と大阪 どちらがおすすめですか?

あまり突っ込んだことは(立場上)いえないのですが... まあ、そんなことより、最も気になったのがここですね。 9 名古屋より東京、大阪のほうが有利とかはありますか? 大阪のほうが有利です。 名古屋は有能な教師が少ないため。 HAL名古屋出身の人が、どうして大阪のことを知っているんだろう と疑問には思いましたが、こう言われてしまうと、やっぱり大阪にしようかなって思ってしまいます。 一般論で回答すると、名古屋に有能な教員が少ないということが仮に真だとしても、それが大阪に有能な教員が多数いるという裏付けにはなりません。 ましてや、大阪のことを(伝聞情報以上に)知っているわけでもなく、十分な分析能力が...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 12
閲覧数: 4768

Re: プログラムの評価依頼

dig さんが書きました:C++は大変な言語ですね。様々な配慮をしなければなりません。
しかしながらこれも慣れなのでしょう。もう少し小規模なプログラムで練習し直してきます。
おっしゃるように、ある程度は慣れの問題で、決してC++は大変な言語ではありません。
逆に、私からすればC#の方がずっと大変な言語に感じています。
(かゆいところにまるで手が届きません)
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 12
閲覧数: 4768

Re: プログラムの評価依頼

たかぎさま 回答ありがとうございます。しかしながらイマイチ理解できませんでした。「...今回の場合、多くがそれに該当するかと思います...」と書かれていますが、 エラーが発生するように実装しなければならない部分は、例えば私のコードでいうとどのファイルの何行目の部分でしょうか?何度も申し訳ありませんが よろしくお願いします。 コピーの禁止に限っていえば、一番わかりやすいのはSoundクラスでしょうか? コンストラクタで soundEffect = new int[SOUND_KIND_MAX]; soundEffectPlayFlag = new int[SOUND_KIND_MAX]; のよ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 12
閲覧数: 4768

Re: プログラムの評価依頼

beatle さんが書きました:std::shared_ptrは参照カウント式のスマートポインタでして、動作はC#の参照型に近いです。どこからも参照されなくなると、自動的にdeleteされます。
Visual C++ 2008なので、std::tr1::shared_ptrですね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 12
閲覧数: 4768

Re: プログラムの評価依頼

たかぎさん ご指摘ありがとうございます。 1~6についてよく考えてみようと思います。 ただ「間違ったセマンティックスに対してコンパイルエラーが発生するように実装...」についてはよくわかりませんでした。 これはどういうことなのでしょうか? 他の項目とも関連するのですが... 例えば、オブジェクトのコピーが適切でない(今回の場合、多くがそれに該当するかと思います)場合、コピーコンストラクタやコピー代入演算子を非公開にして、コピーしようとするとコンパイルできなくなるような配慮を行うべきだということです。 (他にもいろいろなケースが考えられます) Visual C++ 2008なので、static...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 12
閲覧数: 4768

Re: プログラムの評価依頼

さわりしか見ていませんので、漠然とした回答になりますが...

1. 静的に解決できることを動的に行わないようにしましょう。
2. const修飾を徹底しましょう。
3. RAIIも徹底しましょう。
4. カプセル化や有効範囲の制限を適切に行いましょう。
5. 標準ライブラリ(Visual C++ 2008の場合はTR1を含む)を利用しましょう。
6. エラー対策(エラーコードの処理や例外安全など)を正しく行いましょう。

そして...
間違ったセマンティックスに対してコンパイルエラーが発生するように実装しましょう。

これだけ気を付ければ、かなり改善するはずです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 終了処理について
返信数: 8
閲覧数: 4339

Re: 終了処理について

初期化と終了の処理を確実に呼び出す方法として、私がよく使っているのは...

コード:

int WINAPI WinMain(...)
{
    struct _
    {
        _() { if (DxLib_Init() == -1) std::exit(-1); }
        ~_() { DxLib_End(); }
    } z;
    ...
    return 0;
}
といった方法です。
これなら、WinMainの途中からreturn文で終わろうが、例外が捕捉されずに終わろうが、確実にDxLib_Endが呼ばれます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 掲示板って、無料なの?
返信数: 7
閲覧数: 3085

Re: 掲示板って、無料なの?

電気料金や通信費はかかるので、完全に無料かというと「違います」としかいえませんが、サイト運営者から請求されることはありませんね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 変数のアドレスについて
返信数: 6
閲覧数: 1691

Re: 変数のアドレスについて

ということはクラスのメンバとして保持されている変数の場合は、そのクラスが破棄されるまでそのメンバのポインタ値が指す変数が存在することは保証されるというわけでしょうか? たとえば img = &image.tempImage; この場合imageクラスが破棄されるまでimgはimage.tempImageを参照できることが保証されるという理解でよろしいでしょうか? 一応補足しておくと... 上記の場合だと、imageの生存期間が終わる前であり、かつ単項の&演算子が多重定義されていなければ、同じアドレスを指すと考えて問題ありません。 単項の&演算子が多重定義されていた場合、それがどんな値を返すか...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数の数を臨機応変に
返信数: 11
閲覧数: 3537

Re: 仮引数の数を臨機応変に

1.  例えば、引数をn個取ることも(n-x)個取ることも可能な関数の 仮引数はどのように書けばよいのでしょうか?(x<=n かつ 0<n と一応します) これについてですが、引数の型によって戦略が変わってきます。 C互換型なら可変個引数というのも(危険ではありますが)ありがと思いますが、それ以外だと論外です。 同じ型ばかりが可変個なのか、異なる型が混在するのかによっても、変わってきます。 関数ではなく、マクロを使ってもよいのであれば、もう少し実装しやすくなります。 同じ型ばかりであれば、std::initializer_listを使うのも一つの手です。 シンタックスはやや異なりますが、目的...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ふと思ったこと(ゲームプログラミングとクラスについて)
返信数: 4
閲覧数: 2325

Re: ふと思ったこと(ゲームプログラミングとクラスについて)

構造体や共用体もC++の仕様上はクラスの一種なので、クラスを使っていないというのは正確ではないのでは?
それと、存在する機能であっても、それがどんなに便利なものであっても、使いたくない、または使いこなせるだけのスキルがないのであれば、使わないという選択は常に可能です。

例えるなら、Excelを使うなら、ピボットテーブルやらVBAやらを必ず使わなければならないということはありませんね。
ウェブページを作る際には、必ずJavaScriptもFLASHもSilverlightも使わないといけないというのも正しくありません。
そんなもんです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】バックアップについて
返信数: 13
閲覧数: 6909

Re: 【雑談】バックアップについて

Subversion等のツールを使うというのは定番ですが、サーバーがクラッシュした場合のこととかもあるので、補助的なバックアップもあったほうがよいですね。
私の場合、原始的かつ安直な方法で補助をやっています。
というのは、関係者にメールで送っておくのです。
顧客に進捗状況の報告もかねて送っていることが多いので、余計な手間がかかることはありません。

最悪の場合でも、先方にお願いすればその時点のものは入手できます。
ネットワークを通じてどこからでも取り出せますし、無料です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 新ANSI C言語辞典 に代わる本
返信数: 6
閲覧数: 5006

Re: 新ANSI C言語辞典 に代わる本

もし、主に使うのがCではなくC++なのであれば... http://www.amazon.co.jp/C-%E3%83%A9%E3%83%B3%E3%82%B2%E3%83%BC%E3%82%B8%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E3%83%AC%E3%82%A4-%E3%83%AA%E3%82%B7%E3%83%A5%E3%83%8A%E3%83%BC/dp/4873111919 http://www.amazon.co.jp/C-%E3%83...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 新ANSI C言語辞典 に代わる本
返信数: 6
閲覧数: 5006

Re: 新ANSI C言語辞典 に代わる本

全然まともな回答ではないのですが...

Amazonで中古を買うのであれば、コンディション次第ではCDが欠品している可能性が十分あります。
それなら、いっそのこと旧版を買った方が安くて状態のよいのものを入手できる可能性があります。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: マジで無知でごめんなさいorz
返信数: 5
閲覧数: 2504

Re: マジで無知でごめんなさいorz

最初のいくつかでもよいので、せめて実際に出力されたエラーメッセージを貼りましょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ifstreamで
返信数: 4
閲覧数: 3394

Re: ifstreamで

原因はすでに指摘されている通りです。
一応参考までに、ファイルの内容をすべて読み込む方法も書いておきます。

コード:

std::ifstream ifs(name);
std::ostringstream oss;
oss << ifs.rdbuf();
std::string str(oss.str());  // ファイルの内容が取得できた。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: try文を用いたエラークラスのthrowの仕方
返信数: 6
閲覧数: 2887

Re: try文を用いたエラークラスのthrowの仕方

一応、補足説明しておきます。

例外オブジェクトは、必ず参照で捕捉するようにしてください。
ポインタで捕捉すると、そのポインタが指すオブジェクトの解放方法がいろいろ考えられるので安全性に欠けます。
値で捕捉すると、スライシングの問題が発生します。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: try文を用いたエラークラスのthrowの仕方
返信数: 6
閲覧数: 2887

Re: try文を用いたエラークラスのthrowの仕方

一般的ということなので... #include <memory> #include <string> #include <stdexcept> #include <cstdlib> #include <cstdio> class error : public std::runtime_error { public: explicit error(std::string const& message) : std::runtime_error(message) { } }; //仮のクラス //ここからエラーをthrowする class hoge{ public: int temp; //エラー...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語は高校生でも...
返信数: 15
閲覧数: 7650

Re: C言語は高校生でも...

一応、私も少しだけコメントしておきます。 まず、EclipseでDXライブラリを使うことについてですが... http://mergedoc.sourceforge.jp/ ↑からC/C++用(JREあり)のEclipseをダウンロードすれば、MinGWもいっしょにインストールされます。 あとは、GCC用のDXライブラリをダウンロードしてきて追加するだけです。 Visual Studioと比べて、特に難しい要素はありません。 ただ、せっかくMinGWを使うのなら、最新版を使う方がC++11の機能の一部も使えて便利なのは確かです。 それが必要ないなら、Visual C++ 2010 Expres...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: アドバイスお願いします
返信数: 4
閲覧数: 1430

Re: アドバイスお願いします

すい さんが書きました:mymain.cpp(60) : error C2065: 'x' : 定義されていない識別子です。
mymain.cpp(66) : error C2181: else 文が if と一致しません。
mymain.cpp(68) : error C2059: 構文エラー : ')'
この3つのエラーが出てしまいます。
お手数掛けますがアドバイスお願いします。
これらのエラーメッセージはかなり分かりやすいものです。
必要なら、リファレンスでエラーメッセージの解説も読んでください。
C++の基本的な文法と日本語が理解できれば容易に修正できるはずです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの対応している規格
返信数: 14
閲覧数: 9510

Re: コンパイラの対応している規格

softya(ソフト屋) さんが書きました:__STDC__に関しては、VC++は/TCでコンパイルしても無いので非標準処理系。
Visual C++では、/Zaオプションを付ければ__STDC__マクロが定義されます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの対応している規格
返信数: 14
閲覧数: 9510

Re: コンパイラの対応している規格

どの規格に対応しているかとのことであれば... __STDC__マクロが定義されていなければ非標準処理系 __STDC__マクロが1で、__STDC_VERSION__マクロが定義されなければ、C90 __STDC__マクロが1で、__STDC_VERSION__マクロが199409Lならば、AMD1 __STDC__マクロが1で、__STDC_VERSION__マクロが199901Lならば、C99 __STDC__マクロが1で、__STDC_VERSION__マクロが201112Lならば、C11 です。 ただし、中途半端に新しい規格に対応している場合もあるので要注意です。 たとえば、GCC ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダーファイルでの定義
返信数: 3
閲覧数: 1457

Re: ヘッダーファイルでの定義

softya(ソフト屋) さんが書きました:1つのソースファイルにしかインクルードされていないならエラーにはならないと思います。
まぁ、ヘッダに分ける意味もないのですが。
大きな配列の初期化子を別のファイルに記述して、それをインクルードすることは普通にありますね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ライブラリのようなものをつくりたい
返信数: 12
閲覧数: 4902

Re: ライブラリのようなものをつくりたい

インライン化されるとコードサイズが肥大化してしまう,という懸念はまさにその通りです.インライン化はコードサイズを少し増やす代わりに,実行速度を上げることができる可能性がある技術です. 実はそうでもないんですよ。 引数のコピーや関数のコール&リターンのコードが、関数の実体のサイズを上回るときはもちろん、そうでない場合でもインライン関数のほうが小さくなることがあります。 というのは、関数を呼び出すと、その関数から例外が送出される可能性を考慮しないといけないわけですが、インライン関数の場合は中が丸見えですので、例外が送出される可能性がまったくなければそのことがコンパイラにわかります。 結果として、...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ライブラリのようなものをつくりたい
返信数: 12
閲覧数: 4902

Re: ライブラリのようなものをつくりたい

FUNCTIONマクロは何の意味もありませんね。
そうではなく...

B.h

コード:

#ifndef B_H
#define B_H

inlin void funcB(){}

#endif
のようにしましょうということです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ライブラリのようなものをつくりたい
返信数: 12
閲覧数: 4902

Re: ライブラリのようなものをつくりたい

ややバッドノウハウ的ではありますが...
ヘッダファイルの中で定義する関数は、すべてインライン関数か関数テンプレートにしましょう。
それで解決するはずです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 困っています
返信数: 7
閲覧数: 2823

Re: 困っています

2の補数さえ出来ればできるんです。 もう、ここ以外はやったので補数の部分を教えてください・・・ では、もう少しわかりやすく... #include <iostream> #include <bitset> #include <string> int main() { std::string a("10110001"), b("00101110"); unsigned long t = std::bitset<8>(a).to_ulong() + -std::bitset<8>(b).to_ulong(); std::cout << " " << a << std::endl; std::co...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 困っています
返信数: 7
閲覧数: 2823

Re: 困っています

課題の丸投げなので、突き放した回答をします。 #include <iostream> #include <bitset> #include <string> int main() { std::string a("10110001"), b("00101110"); unsigned long t = std::bitset<8>(a).to_ulong() - std::bitset<8>(b).to_ulong(); std::cout << " " << a << std::endl; std::cout << "-)" << b << std::endl; std::cout << "...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: リンク先からexeファイルを静的にダウンロードするようにしたい
返信数: 5
閲覧数: 3323

Re: リンク先からexeファイルを静的にダウンロードするようにしたい

ISLe さんが書きました:ダウンロードして起動する(だけの)プログラムを作って
作らなくても、wgetとかを使えばよいのでは?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について質問なのですが・・・
返信数: 6
閲覧数: 3122

Re: switch文について質問なのですが・・・

title.cppのとある文から、main.cppのcase 0をcase 10に飛ばすということはできるのでしょうか? とりあえず上の質問にだけ答えます。 結論から言えば可能です。 もう少し簡単なコードで説明すると、次のようにすれば実現できます。 main.cpp #include <iostream> void sub(); int main() try { int x; std::cin >> x; switch (x) { case 0: sub(); break; case 10: case_10: std::cout << "case 10" << std::endl; brea...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 友人からの問題
返信数: 7
閲覧数: 2781

Re: 友人からの問題

課題の丸投げの一種なので、まずは少しボケてみましょう。 #include <iostream> constexpr long long pounds(double x) { return static_cast<long long>(x * 1000); } constexpr long long miles(double x) { return static_cast<long long>(x * 1000); } constexpr long long feet(double x) { return static_cast<long long>(x * 1000); } enum 推進機構...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 静的変数について
返信数: 3
閲覧数: 1363

Re: 静的変数について

静的変数は「グローバル変数のように、他の関数から使用することはできない。」とありますが、理解に苦しんでいます。 これは明らかな間違いですね。 int a; /* プログラム中のどこからでもアクセス可能な「静的変数」 */ static int b; /* 同じ翻訳単位からだけアクセス可能な「静的変数」 */ void f(void) { static int c; /* 関数fの中からだけアクセス可能な「静的変数」 */ { static int d; /* 同じブロックの中からだけアクセス可能な「静的変数」 */ } } 上のようになります。 つまり、静的変数だからといって他の関数からアク...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: WINDOWSソースコードをコンパイルするには?
返信数: 13
閲覧数: 4673

Re: WINDOWSソースコードをコンパイルするには?

int WINAPI WinMain(){} 上のソースコードをコンパイルするコマンドは、gcc filename.cでしょうか・・。 少し違います。 gcc -mwindows filename.c で何とかなるはずです。 あと、DXライブラリのファイルの中身って、恐らくアセンブラファイル?と、ヘッダファイルの2種類が入ってるかと思うんですが これをパスでいうと、~\MInGW\binに入れたらいいでしょうか? 好きなところにファイルを入れればよいと思いますが、それに応じたオプションを指定する必要があります。 DXライブラリを使う場合のコマンドを無理やり書くと、おそらく次のようになるかと思...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ->
返信数: 3
閲覧数: 1690

Re: ->

何でもよいので入門書を読み直せば必ず書いているはずです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: shared_ptrが使えない
返信数: 4
閲覧数: 2670

Re: shared_ptrが使えない

softya(ソフト屋) さんが書きました:VC++6.0にstd::abortがあるか調べてみて下さい。
Visual C++ 6.0はきわめて標準準拠度が低く(というか、ISO/IEC 14882:1998以前の処理系です)、std::abortはありません。
もっと正確にいうと、<cstdlib>をインクルードしても、::abortが宣言されます。

ちなみに、Visual C++ 2010でも本来の意味でのstd::abortはありません。
<cstdlib>をインクルードすると、<stdlib.h>で宣言された::abortをstd名前空間でusingしているだけです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: shared_ptrが使えない
返信数: 4
閲覧数: 2670

Re: shared_ptrが使えない

wiruka さんが書きました:Visual C++6.0を使っています。
なぜそんな古いコンパイラを使っているのかわかりませんが...
Boost C++ Libraries 1.48.0は、Visual C++ 2005以降しかサポートされていなかったはずです。
もっと新しいコンパイラに変えるか、もっと古いバージョンのBoost C++ Librariesを使ってください。

詳細検索ページへ移動する